bzoj1115: [POI2009]石子游戏Kam

来源:互联网 发布:asp手机考试系统源码 编辑:程序博客网 时间:2024/05/22 07:50

传送门
1看题目就比较假。
首先考虑差分。
在开始情况下,第i堆石子可移动个数是a[i]-a[i-1].
如果这个数字对少了一个,那么后面的石子堆能取的就多1个。
然后就是阶梯Nim游戏辣。

#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<algorithm>using namespace std;int T,n,ans,a[1001];int main(){    scanf("%d",&T);    while(T--){        ans=0;        scanf("%d",&n);        for(int i=1;i<=n;i++) scanf("%d",&a[i]);        for(int i=n;i>=1;i-=2)            ans^=(a[i]-a[i-1]);        puts(ans?"TAK":"NIE");    }}
原创粉丝点击