zxy160的博客

感觉有意思就好

巴什博弈

个人理解:
假设现在有n=m+1个石子,有两个人a和b,a先拿,最多拿m个,谁先取完谁胜。两个人都很聪明,问谁会取胜。很明显无论a拿多少(假如为k),那么b肯定会把剩下的都拿走n-k<=m。b胜!
假设现在n!=m+1,那么结果又会如何?那么我们可以把n=(m+1)r+s,a拿走s个,然后b拿走k个,a再拿走(m+1)-k个,那么剩n=(m+1)(r-1)个,保持这样,a一定取胜。所以如果
n%(m+1)!=0,先取者胜,否则后取者胜。
nyoj23

#include<stdio.h>
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n,m;
        scanf("%d%d",&n,&m);
        if(n%(m+1)==0)
            printf("Lose\n");
        else
            printf("Win\n");
    }
    return 0;
}
阅读更多
版权声明:本文为博主原创文章,如能转载,不胜荣幸! https://blog.csdn.net/zxy160/article/details/79965105
个人分类: ACM_博弈
上一篇Problem C. GSS and Bubble Sort
下一篇威佐夫博奕
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭