1115: [POI2009]石子游戏Kam
Description
有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。
Input
第一行u表示数据组数。对于每组数据,第一行N表示石子堆数,第二行N个数ai表示第i堆石子的个数(a1<=a2<=……<=an)。 1<=u<=10 1<=n<=1000 0<=ai<=10000
Output
u行,若先手必胜输出TAK,否则输出NIE。
Sample Input
2
2 2
3
1 2 4
Sample Output
TAK
1 #include<iostream> 2 #include<cstdlib> 3 #include<cmath> 4 #include<cstring> 5 #include<cstdio> 6 #include<algorithm> 7 #include<string> 8 #include<map> 9 #include<queue> 10 #include<vector> 11 #include<set> 12 #define inf 1000000000 13 #define maxn 10000+5 14 #define maxm 10000+5 15 #define eps 1e-10 16 #define ll long long 17 #define for0(i,n) for(int i=0;i<=(n);i++) 18 #define for1(i,n) for(int i=1;i<=(n);i++) 19 #define for2(i,x,y) for(int i=(x);i<=(y);i++) 20 #define for3(i,x,y) for(int i=(x);i>=(y);i--) 21 #define for4(i,x) for(int i=head[x],y=e[i].go;i;i=e[i].next,y=e[i].go) 22 using namespace std; 23 int read(){ 24 int x=0,f=1;char ch=getchar(); 25 while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} 26 while(ch>='0'&&ch<='9'){x=10*x+ch-'0';ch=getchar();} 27 return x*f; 28 } 29 int a[maxn],b[maxn]; 30 int main(){ 31 //freopen("input.txt","r",stdin); 32 //freopen("output.txt","w",stdout); 33 int m=read(); 34 for1(i,m){ 35 int n=read(); 36 for1(j,n){a[j]=read();b[j]=a[j]-a[j-1];} 37 int tmp=0; 38 for(int j=n;j>0;j-=2) 39 tmp^=b[j]; 40 if(tmp)printf("TAK\n"); 41 else printf("NIE\n"); 42 } 43 return 0; 44 }
View Code
转载于:https://www.cnblogs.com/htwx/articles/5546029.html
1115: [POI2009]石子游戏Kam相关推荐
- bzoj 1115: [POI2009]石子游戏Kam(博弈)
1115: [POI2009]石子游戏Kam Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1132 Solved: 692 [Submit][S ...
- BZOJ 1115: [POI2009]石子游戏Kam
Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏 ...
- bzoj1115: [POI2009]石子游戏Kam
[Submit][Status][Discuss] Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保 ...
- [POI2009]石子游戏Kam
Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏 ...
- 【bzoj1115】 [POI2009]石子游戏Kam
Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏 ...
- BZOJ1115:[POI2009]石子游戏Kam(博弈论)
挺水的 听说是阶梯nim和,就去看了一下,然后就会了= = 观察题目,发现拿第i堆棋子k个造成的影响就是第i+1堆棋子能多拿k个 可以把模型转化为,有n堆石子,每次从某一堆拿一个石子,放在下一堆中,不 ...
- 【博弈论】bzoj1115 [POI2009]石子游戏Kam
差分后与阶梯博弈很类似. #include<cstdio> using namespace std; int n,T,a[1001],ans; int main() {scanf(&quo ...
- bzoj1115:[POI2009]石子游戏Kam
传送门 阶梯nim模型 代码: #include<cstdio> #include<iostream> #include<algorithm> using name ...
- [BZOJ]1115 石子游戏Kam
1115: [POI2009]石子游戏Kam Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1061 Solved: 651 [Submit][S ...
最新文章
- Jenkins部署Windows UI自动化的调度权限问题
- tomcat主目录(ROOT.xml)和虚拟目录
- 图解Myeclipse 导入Java Web项目报错的解决办法听语音
- 经常收到银行白金信用卡邀请短信,真能办下来吗?
- CSS自定义消息提示
- retrofit2.6.0_RxAndroid和Retrofit 2.0
- eclipse git插件简单使用
- Notepad++的SQL格式化插件
- 小米5刷android p6,小米5刷recovery教程 小米5第三方recovery下载
- Mac mini M1使用简单体验(编程、游戏、深度学习)
- 自定义审批流程表设计
- SOLIDWORKS 2018官方正版功能介绍
- 鸿蒙归蝶的反弹,诛仙前传鸿蒙副本任务详细攻略解读
- [记录]手机数据恢复
- 史上最简萤石云视频显示开发教程(pc端)
- 机器人学:操作臂运动学(Manipulator Forward Kinematics)
- 牛客网暑期ACM多校训练营(第四场)C(Chiaki Sequence Reloaded)
- 成信大808计算机基础历年真题及答案
- mysql master_log_file_change master 未指定master_log_file
- If you don't build your dreamer, someone will hire you to build theirs!