码迷,mamicode.com
首页 > 其他好文 > 详细

【hdu3544】 Alice's Game

时间:2016-04-03 18:44:16      阅读:103      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!