首页 > 其他 > 详细

【hdu3544】 Alice's Game

时间:2016-04-03 18:41:32      阅读:116      评论:0      收藏:0      [点我收藏+]

给一块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

原文:http://www.cnblogs.com/yangjiyuan/p/5350194.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!