Nim 游戏

来源:互联网 发布:天刀胡歌大叔捏脸数据 编辑:程序博客网 时间:2024/06/01 09:24

nim 游戏 见博客

http://www.cnblogs.com/exponent/articles/2141477.html


例题:lightoj 1247

nim是求最后拿到的人为赢

反nim是最后拿到的人为输。。。

求反nim:lightoj 1253

证明见博客

http://blog.csdn.net/tdreamge/article/details/7227295

当作模板用==

/*ID: meixiny1PROG: testLANG: C++11*/#include <cstdio>#include <cstdlib>#include <iostream>#include <algorithm>#include <cstring>#include <climits>#include <string>#include <vector>#include <cmath>#include <stack>#include <queue>#include <set>#include <map>#include <sstream>#include <cctype>using namespace std;typedef long long ll;typedef pair<int ,int> pii;#define MEM(a,b) memset(a,b,sizeof a)#define CLR(a) memset(a,0,sizeof a);const int inf = 0x3f3f3f3f;const int MOD = 1e9 + 7;#define PI 3.1415926535898//#define LOCALint main(){#ifdef LOCALfreopen("in.txt", "r", stdin);//freopen("out.txt","w",stdout);#endif   int i,n,m;     int t;scanf("%d",&t);     int kase = 1;    while(t--)    {        int n;scanf("%d",&n);        int flag = 0; //判断是否是孤单堆        int s = 0;        for(i = 0;i < n;i++)         {              cin >> m;              s ^= m;              if(m > 1) flag = 1;        }        if(flag == 0)            if(n % 2)                printf("Case %d: Bob\n",kase++);            else                 printf("Case %d: Alice\n",kase++);        else             if(s == 0)               printf("Case %d: Bob\n",kase++);            else              printf("Case %d: Alice\n",kase++);    }    return 0;}


0 0
原创粉丝点击