POJ 1704 Georgia and Bob(阶梯博弈+证明)
2016-03-05 02:56
176 查看
POJ 1704 题目链接
关于阶梯博弈有如下定理:
以下是POJ 1704的AC代码:
关于阶梯博弈有如下定理:
以下是POJ 1704的AC代码:
//棋子只能往左走(最左有界线),可以走任意多格(>=1) //而且棋子不能越过在它前面的棋子(它左边的棋子) //每个格最多放一个棋子,说明棋子也不能走到另一个棋子所在的位置 //转换成nim:把输入的位置排好序,算相邻两点的间距,该间距就是最多能走的步数k,看作一堆里的k个石子 //然后从最大的位置(因为最右)开始遍历,计算奇数堆的nim异或值 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int main() { int t; scanf("%d",&t); while(t--) { int sum=0,n,a[1005],b[1005]; scanf("%d",&n); a[0]=0; for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a,a+n+1); for(int i=1;i<=n;i++) b[i]=a[i]-a[i-1]-1; int cnt=0; for(int i=n;i>0;i--) { cnt++; if(cnt&1) sum^=b[i]; } if(sum) printf("Georgia will win\n"); else printf("Bob will win\n"); } return 0; }
相关文章推荐
- 夺命雷公狗---微信开发43----用户分组管理接口(改)
- 内存、线程一点想法
- 中缀转后缀
- CSS HTML实现背景图片的填充
- UITableView介绍 之 网络图片数据加载
- LeetCode Strobogrammatic Number
- 大数据架构和模式(二)如何知道一个大数据解决方案是否适合您的组织
- LinuxMint17.3配置全局变量
- 第一期:搭建什么样的多用户平台?(未完)
- 第二期: 如何搭建 多用户的平台?(未完)
- 大数据架构和模式(三)理解大数据解决方案的架构层
- 如何避免编程中的BUG
- swift:CoreData简单入门(增加、查询、修改、删除)(详细讲解)
- ThreadLocal源码分析解密
- ubuntu 14.04 开机添加磁盘挂载
- bootstrap相关
- JavaScript-正则表达式总结
- 25该何去何从
- weblogic
- 微信js sdk 分享 失败 有时候好 有时候坏