hdu4111 Alice and Bob 【转载】
2013-03-31 20:03
351 查看
转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove
可惜没有机会去现场做,不过当时肯定是不会。
题意:有N堆石头,可以把两堆合成一堆,也可以把一堆去掉一个。
由于总数不变,最终总是要一个个拿完。那么有机会获胜的一方,肯定是先要把所有的合在一起,那么最终就拼奇偶数了。所以双方都要合并。总共就是sigma(ai)+n-1。
而且如果没有某堆只有一个的话,对方是阻挡不住的,没有取完,便被合并了。
所以就要考虑某堆只有一个的情况,单独考虑。
其中的操作包括:
把某堆只有一个的,取走
把两堆只有一个的,合并
把某堆只有一个的,合并给不是一个的
把不是一个的,取走一个
采用记忆化搜索
可惜没有机会去现场做,不过当时肯定是不会。
题意:有N堆石头,可以把两堆合成一堆,也可以把一堆去掉一个。
由于总数不变,最终总是要一个个拿完。那么有机会获胜的一方,肯定是先要把所有的合在一起,那么最终就拼奇偶数了。所以双方都要合并。总共就是sigma(ai)+n-1。
而且如果没有某堆只有一个的话,对方是阻挡不住的,没有取完,便被合并了。
所以就要考虑某堆只有一个的情况,单独考虑。
其中的操作包括:
把某堆只有一个的,取走
把两堆只有一个的,合并
把某堆只有一个的,合并给不是一个的
把不是一个的,取走一个
采用记忆化搜索
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define N 10005 #define LL long long #define inf 1<<29 #define eps 1e-7 using namespace std; int sg[55][60005]; int get_sg(int i,int j){ if(sg[i][j]!=-1) return sg[i][j]; if(j==1) return sg[i][j]=get_sg(i+1,0); sg[i][j]=0; //某堆只有一个的取掉 if(i>=1&&!get_sg(i-1,j)) sg[i][j]=1; //把不是1个的取走一个 else if(j>=1&&!get_sg(i,j-1)) sg[i][j]=1; //把1个的合并给不是1个的 else if(i>=1&&j>0&&!get_sg(i-1,j+1)) sg[i][j]=1; //把两个1个的合并,其中注意,合并是需要一步的 else if(i>=2&&((j==0&&!get_sg(i-2,j+2))||(j&&!get_sg(i-2,j+3)))) sg[i][j]=1; return sg[i][j]; } int main(){ int n,t,cas=0,k; scanf("%d",&t); memset(sg,-1,sizeof(sg)); while(t--){ scanf("%d",&n); int one=0,sum=0; while(n--){ scanf("%d",&k); if(k==1) one++; else sum+=(k+1); } if(sum) sum--; printf("Case #%d: ",++cas); if(get_sg(one,sum)) puts("Alice"); else puts("Bob"); } return 0; }
相关文章推荐
- HDU4111 Alice and Bob 2011成都现场赛A题 博弈
- hdu4111 Alice and Bob
- hdu4111 Alice and Bob
- HDU 4111 Alice and Bob (博弈[记忆话搜索])
- UVA 1500 - Alice and Bob(博弈)
- hdu 4268 Alice and Bob
- A. Alice and Bob----最大公约数
- hdu 4268 Alice and Bob
- HDU 4268 Alice and Bob(贪心+STL)
- ZOJ 3529 - A Game Between Alice and Bob(素因子+博弈)
- zoj 3757 Alice and Bob and Cue Sports 模拟
- Sicily 2683. Alice and Bob
- Sicily1798. Alice and Bob[策略问题]
- Codeforces Beta Round #6 (Div. 2 Only) C. Alice, Bob and Chocolate
- 又见Alice and Bob
- Alice, Bob and Chocolate
- Codeforces Round #201 (Div. 2)C.Alice and Bob
- uva1484 Alice and Bob's Trip (树形dp)
- XinanTanOJ 1168 Alice and Bob 二维DP
- CF 346A(Alice and Bob-Python,sort)