hdu3544 Alice's Game
Posted YJY_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu3544 Alice's Game相关的知识,希望对你有一定的参考价值。
给一块n*m的巧克力,Alice只能垂直切,切成A*m和B*m,并且A+B=n,Bob只能横切,只能切成A*n和B*n,并且A+B=m。
对于n*n的这种巧克力,谁先切了第一刀,就直接让对方有切两刀的机会,所以Alice不可能去切这种巧克力,可以直接无视这种。
后一人会尽量选前一人切后小的一块切。
#include<algorithm> #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #include<cmath> using namespace std; typedef long long LL; int n,t; LL x,y; int main() { scanf("%d",&t); for (int i=1;i<=t;i++) { scanf("%d",&n); LL k1=0,k2=0; while (n--) { scanf("%lld%lld",&x,&y); while (x>1 && y>1) x>>=1,y>>=1,k1++,k2++; if (x==1) k2+=y-1; else k1+=x-1; } if (k1<=k2) printf("Case %d: Bob\n",i); else printf("Case %d: Alice\n",i); } return 0; }
以上是关于hdu3544 Alice's Game的主要内容,如果未能解决你的问题,请参考以下文章
hdu 4122 Alice's mooncake shop (线段树)
(HDU 5558) 2015ACM/ICPC亚洲区合肥站---Alice's Classified Message(后缀数组)
UVA1484 Alice and Bob's Trip (hdu3660)