zoj 3529 博弈SG
来源:互联网 发布:python安卓开发 编辑:程序博客网 时间:2024/05/16 10:05
当NIM和X>0,此时必胜状态
使X的最左边的1存在的一堆石头,设为Y,操作它,就能必胜
因为
令Z=X ^ Y,消去最左边的1,则Z<Y,且Z ^ X ^ Y=0,说明此时为必败状态
#include <iostream>#include <cstdio>#include <cstring>using namespace std;#define N 100005#define MAXN 50000int a[N+100],b[N+100],n;int prime[MAXN+4],cnt,isprime[MAXN+5];int cal(int obj){ int res=0; for(int i=0;prime[i]*prime[i]<=obj;++i) if(obj%prime[i]==0) { while(obj%prime[i]==0) { obj/=prime[i]; res++; } } if(obj>1) res++; return res;}int main (){ for(int i=2;i<MAXN;++i) if(!isprime[i]) { prime[cnt++]=i; for(int j=i;j<MAXN;j+=i) isprime[j]=1; } int ncase=0; while(scanf("%d",&n)!=EOF) { int ans=0; for(int i=1;i<=n;++i) { scanf("%d",&a[i]); b[i]=cal(a[i]); ans^=b[i]; } if(ans) { int first=-1,y; for(int i=1;i<=n;++i) { if(b[i]> (ans^b[i])) { first=i; break; } } printf("Test #%d: Alice %d\n",++ncase,first); } else printf("Test #%d: Bob\n",++ncase); } return 0;}
- zoj 3529 博弈SG
- ZOJ 2083 SG博弈
- ZOJ 2507 ANTI-SG博弈
- 博弈--ZOJ 3084 S-Nim(SG)
- ZOJ-1039 Number Game(SG博弈)
- ZOJ 3529 A Game Between Alice and Bob (数论+SG博弈)
- ZOJ 3666 Alice and Bob(博弈 sg 函数入门)
- zoj 3529 Nim博弈
- HDU1851(sg博弈+nim博弈)
- ZOJ 1039 Number Game(SG博弈+状压+记忆化搜索)
- 博弈,求SG值
- poj2960【Nim博弈,SG】
- 博弈 nim sg
- HDOJ1404(SG博弈)
- HDOJ1792(SG博弈)
- HDU 1536 (博弈SG)
- SG函数 博弈
- hdu1907||poj3480 sg博弈
- 要学习的内容
- Linux 进程
- codeforce 237 C D
- 知识型企业如何进行人的管理
- linux----------CMake学习记录
- zoj 3529 博弈SG
- 3,少年白_一年前的我
- H.264 and MPEG-4 Video Compression Iain E. G. Richardson
- F~Help Johnny(13.7.12)
- Effect C++ 读书笔记: 构造函数/析构函数/赋值运算符
- 3,少年白_一年前的我
- cortex A8处理器启动分析一引导代码BL0
- Camshift算法原理及其Opencv实现
- Windows7下面安装Python和Django