POJ 1704 Georgia and Bob (博弈:Staircase Nim)
2012-09-13 15:50
375 查看
//POJ 1704 Georgia and Bob (Staircase Nim) /* 题意:有一排的格子从左到右编号为1、2、3...,有n个石子放在上面,每个格子最多只能放一个石子 两个人轮流取石子,每次可以把取的石子往左移。 约束条件:1、不能跨越其他石子 2、不能和其他石子放在同一个格子里面 思路:转化为Staircase Nim 相邻两个石子之间的空格数就是每个石子可以移动的距离, 比如可以移动n格,就可以理解成一堆石子,个数为n。 每次往左移动一个石子m格,相当于当前石子堆个数-m,而右边那堆的石子个数+m 就可以理解成把当前堆移动m个石子到右边那堆石子中。 这样就转化为Staircase Nim,最右边的那堆石子就相当于Staircase Nim的最低层。 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 1005 int T,n; int num ; int cmp(const void *a,const void*b){ return *(int *)a - *(int *)b; } int main(){ int i,j; scanf("%d",&T); while(T--){ scanf("%d",&n); num[0] = 0 ; for(i = 1; i <= n; ++i) scanf("%d",&num[i]); qsort(num,n+1,sizeof(num[0]),cmp); int ans = num -num[n-1]-1; for(i = n-2; i > 0; i -= 2) ans ^= num[i]-num[i-1]-1; puts(ans?"Georgia will win":"Bob will win"); } return 0; }
相关文章推荐
- 【POJ】1704 - Georgia and Bob 博弈->Georgia and Bob(Staircase Nim)
- poj 1704 Georgia and Bob阶梯博弈
- poj 1704 Georgia and Bob nim博弈
- POJ 1704 Georgia and Bob (Nim博弈)
- poj1704(Nim博弈)Georgia and Bob
- POJ - 1704 Georgia and Bob (Nim博弈的变形)
- poj1704 Georgia and Bob(Nim变形:阶梯博弈)
- 博弈最高位POJ 1704(Georgia and Bob-Nim博弈)
- Poj1704:staircase nim【博弈】
- poj 1704 Georgia ans Bob (Staircase-Nim)
- POJ 1704 Georgia and Bob ( 阶梯博弈 模板 )
- POJ - 1704 Georgia and Bob 阶梯博弈
- POJ 1704 Georgia and Bob (Nim博弈)
- POJ 1704 Georgia and Bob ( 阶梯博弈 模板 )
- POJ 1704 Georgia and Bob ( 阶梯博弈 模板 )
- POJ 1704 Georgia and Bob ( 阶梯博弈 模板 )
- POJ 1704 Georgia and Bob【Nim博弈】
- POJ 1704 Georgia and Bob(阶梯Nim博弈)
- nim博弈_______Georgia and Bob( poj 1704 )
- POJ 1704 Georgia and Bob ( 阶梯博弈 模板 )