[BZOJ1115][POI2009]石子游戏Kam(阶梯博弈)
2016-12-19 23:48
357 查看
题目描述
传送门题解
由于每堆石子都不少于前一堆的,并且石子总量不变,那么从这一堆拿走一些下一堆就多了一些可以拿走的。那么我们把每堆石子和上一堆石子的差看做是每堆的石子数量,那么题目实际上就变为了从当前堆可以拿出一些石子放到下一堆里去。这就是一个典型的阶梯博弈了吖。
代码
#include<iostream> #include<cstring> #include<cstdio> using namespace std; #define N 1005 int T,n,ans; int a ,b ; int main() { scanf("%d",&T); while (T--) { scanf("%d",&n);ans=0; for (int i=1;i<=n;++i) scanf("%d",&a[i]); for (int i=n;i>=1;--i) b[n-i+1]=a[i]-a[i-1]; for (int i=1;i<=n;++i) if (i%2) ans^=b[i]; if (!ans) puts("NIE"); else puts("TAK"); } }
总结
①巧妙的转化。相关文章推荐
- bzoj 1115: [POI2009]石子游戏Kam 阶梯博弈
- 【BZOJ1115】[POI2009]石子游戏Kam 阶梯博弈
- [阶梯博弈] BZOJ1115: [POI2009]石子游戏Kam
- BZOJ 1115:[POI2009]石子游戏Kam 阶梯博弈
- bzoj 1115: [POI2009]石子游戏Kam(阶梯博弈)
- [bzoj1115][POI2009]石子游戏Kam_博弈论_阶梯博弈
- BZOJ 1115 [POI2009]石子游戏Kam(阶梯博弈)
- [博弈论][阶梯博弈] BZOJ 1115:POI2009 石子游戏Kam
- [BZOJ1115][POI2009]石子游戏Kam解题报告|阶梯博弈
- [BZOJ 1115] [POI2009] 石子游戏Kam 【阶梯博弈】
- 【bzoj1115】【poi2009】【石子游戏Kam】【阶梯博弈】
- BZOJ 1115: [POI2009]石子游戏Kam [阶梯NIM]
- BZOJ 1115: [POI2009]石子游戏Kam 阶梯Nim
- bzoj1115[POI2009]石子游戏Kam 阶梯NIM
- BZOJ1115 [POI2009]石子游戏Kam 【博弈论——阶梯游戏】
- BZOJ1115 [POI2009]石子游戏Kam 【博弈论——阶梯游戏】
- BZOJ 1115: [POI2009]石子游戏Kam (阶梯nim)
- bzoj 1115: [POI2009]石子游戏Kam(博弈)
- BZOJ 1115: [POI2009]石子游戏Kam【差分+阶梯nim
- 【差分+阶梯Nim游戏】BZOJ1115(POI2009)[石子游戏Kam]题解