BZOJ1115:[POI2009]石子游戏Kam(博弈论)
生活随笔
收集整理的這篇文章主要介紹了
BZOJ1115:[POI2009]石子游戏Kam(博弈论)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
挺水的
聽說是階梯nim和,就去看了一下,然后就會了= =
觀察題目,發現拿第i堆棋子k個造成的影響就是第i+1堆棋子能多拿k個
可以把模型轉化為,有n堆石子,每次從某一堆拿一個石子,放在下一堆中,不能拿的輸
就是階梯nim和了= =
然后就亂寫了= =
CODE:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int t,n,a[1010];
int main(){
scanf("%d",&t);
while (t--) {
int ans=0;
scanf("%d",&n);
a[n+1]=0;
for (int i=n;i;i--) {
scanf("%d",&a[i]);
if (i&1) ans^=a[i]-a[i+1];
}
printf("%s\n",ans?"TAK":"NIE");
}
return 0;
}
轉載于:https://www.cnblogs.com/New-Godess/p/4348914.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的BZOJ1115:[POI2009]石子游戏Kam(博弈论)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计组之数据运算:1、数据的表示
- 下一篇: modelsim仿真中遇到的问题