[Submit][Status][Discuss]

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 2
3
1 2 4

Sample Output

NIE
TAK

HINT

感谢MT大牛翻译.

若我们从 i 处取走了 x 个石子,那么下一次及以后就可以在 i+1 处多取 x 个,相当于 把 i 处的 x 个石子加到了 i+1处 ,所以可以转化成阶梯NIM
这是关于阶梯NIM的链接http://blog.csdn.net/kk303/article/details/6692506

 1 #include<bits/stdc++.h>
 2 #define rep(i,l,r) for(int i=l;i<=r;++i)
 3 using namespace std;
 4 int T,n,a[1024],s[1024],ans;
 5 int main(){
 6     scanf("%d",&T);
 7     while(T--){
 8         scanf("%d",&n); ans=0;
 9         memset(a,0,sizeof a);
10         rep(i,1,n) scanf("%d",&a[i]),s[i]=a[i]-a[i-1];
11         for(int i=n;i>0;i-=2) ans^=s[i];
12         if(ans) puts("TAK");else puts("NIE");
13     }
14 }

View Code

转载于:https://www.cnblogs.com/Bloodline/p/5991139.html

bzoj1115: [POI2009]石子游戏Kam相关推荐

  1. BZOJ1115:[POI2009]石子游戏Kam(博弈论)

    挺水的 听说是阶梯nim和,就去看了一下,然后就会了= = 观察题目,发现拿第i堆棋子k个造成的影响就是第i+1堆棋子能多拿k个 可以把模型转化为,有n堆石子,每次从某一堆拿一个石子,放在下一堆中,不 ...

  2. 【博弈论】bzoj1115 [POI2009]石子游戏Kam

    差分后与阶梯博弈很类似. #include<cstdio> using namespace std; int n,T,a[1001],ans; int main() {scanf(&quo ...

  3. bzoj1115:[POI2009]石子游戏Kam

    传送门 阶梯nim模型 代码: #include<cstdio> #include<iostream> #include<algorithm> using name ...

  4. bzoj 1115: [POI2009]石子游戏Kam(博弈)

    1115: [POI2009]石子游戏Kam Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1132  Solved: 692 [Submit][S ...

  5. 【bzoj1115】 [POI2009]石子游戏Kam

    Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏 ...

  6. [POI2009]石子游戏Kam

    Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏 ...

  7. 1115: [POI2009]石子游戏Kam

    Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏 ...

  8. BZOJ 1115: [POI2009]石子游戏Kam

    Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏 ...

  9. [BZOJ]1115 石子游戏Kam

    1115: [POI2009]石子游戏Kam Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1061  Solved: 651 [Submit][S ...

最新文章

  1. ERROR while rich displaying an object: Error: Continuous value supplied to discrete scale
  2. Java从零开始学六(运算符)
  3. 如何利用OpenCV寻找轮廓的中心?
  4. Keras下载的数据集以及预训练模型保存在哪里
  5. loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写
  6. vue与node和npm关系
  7. Licia:最全最实用的 JavaScript 工具库
  8. RT-Thread FinSH控制台添加自定义msh命令原理
  9. asinh函数_JavaScript中带有示例的Math.asinh()方法
  10. 同一个容器实例可以同时运行在多个宿主机_从零开始学K8s: 3.什么是容器
  11. Web服务器常用设置
  12. Error: cannot allocate vector of size 88.1 Mb问题
  13. mock.js那点事(上)
  14. Day1通信基本概念 通信系统模型 通信系统分类与通信方式
  15. Mac苹果电脑开启任何来源选项详细教程
  16. 共享计算机突然无法访问,共享的文件突然不能访问了电脑重启后又能访问为什么...
  17. Glide内存占用优化
  18. Wingdings 2 符号编码对照表
  19. php获取城市接口,根据ip调用新浪api获取城市名并转成拼音
  20. 实战PyQt5: 141-QChart图表之箱形图

热门文章

  1. AMD推Radeon HD 7790显卡 性价比突出下月开卖
  2. 去除网页FLASH单击并激活此控件解决办法
  3. hiveserver2和metastore简要概括作用
  4. 为什么是hbase而不是mongodb
  5. ubuntu系统下面PhantomJS not found on PATH
  6. ValueError: cannot index a corpus with zero features (you must specify either `num_features` or a no
  7. php从大到小排列数字,php输入几个数从大到小排序
  8. 127.0.0.1/dokuwiki/install.php,DokuWiki安装+集成markdown编辑器editor.md
  9. p7zip的解压和压缩
  10. 搭建Vue.js环境,建立一个简单的Vue项目