HDU 4023--Game(贪心+博弈)

来源:互联网 发布:网络审计系统打印记录 编辑:程序博客网 时间:2024/06/04 22:48

来源:http://acm.hdu.edu.cn/showproblem.php?pid=4023

/*题意:Alice有一种1*2的瓷砖,Bob分别有一种2*1的瓷砖,现在有15种形状的图形,Alice和Bob轮流在上面放瓷砖,谁不能放,谁就输。分析:是一个贪心+模拟+博弈的题,根据图形来看,可把图形分类为(1)、(2)、(3,4)、(5,6)、(7,8)、(9,10)、(11,12,13,14)、(15)这几类。其中(1)肯定是Alice的,(2)他不能选,剩下的选择优先顺序应该是(15)、(5,6)、(3,4)、(15)、(11,12,13,14)、(7,8)、(9,10);其中(2)肯定是Bob的,(1)他不能选,剩下的选择优先顺序应该是(15)、(3,4)、(5,6)、(15)、(11,12,13,14)、(9,10)、(7,8);然后直接模拟,计算谁先不能走谁就输了。*/#include <iostream>#include <cstdio>using namespace std;int a[26];int alice,bob;bool v1(){    if (a[15]!=0){a[15]--;alice++;return 1;}    if (a[5]!=0){a[5]--;alice++;return 1;}    if (a[6]!=0){a[6]--;alice++;return 1;}    if (a[3]!=0){a[3]--;return 1;}    if (a[4]!=0){a[4]--;return 1;}    if (a[11]!=0){a[11]--;return 1;}    if (a[12]!=0){a[12]--;return 1;}    if (a[13]!=0){a[13]--;return 1;}    if (a[14]!=0){a[14]--;return 1;}    if (a[7]!=0){a[7]--;return 1;}    if (a[8]!=0){a[8]--;return 1;}    if (a[9]!=0){a[9]--;bob++;return 1;}    if (a[10]!=0){a[10]--;bob++;return 1;}    if (alice!=0){alice--;return 1;}    return 0;}bool v2(){    if (a[15]!=0){a[15]--;bob++;return 1;}    if (a[3]!=0){a[3]--;bob++;return 1;}    if (a[4]!=0){a[4]--;bob++;return 1;}    if (a[5]!=0){a[5]--;return 1;}    if (a[6]!=0){a[6]--;return 1;}    if (a[11]!=0){a[11]--;return 1;}    if (a[12]!=0){a[12]--;return 1;}    if (a[13]!=0){a[13]--;return 1;}    if (a[14]!=0){a[14]--;return 1;}    if (a[9]!=0){a[9]--;return 1;}    if (a[10]!=0){a[10]--;return 1;}    if (a[7]!=0){a[7]--;alice++;return 1;}    if (a[8]!=0){a[8]--;alice++;return 1;}    if (bob!=0){bob--;return 1;}    return 0;}int main(){    int T,an=1;    scanf ("%d",&T);    while (T--)    {        for (int i=1;i<=15;i++)            scanf ("%d",&a[i]);        alice = a[1]*2;        bob = a[2]*2;        bool f=1;        while (1)        {            if (!v1()){f=0;break;}            if (!v2())break;        }        printf ("Case #%d: ",an++);        if (!f)printf("Bob\n");        else printf ("Alice\n");    }    return 0;}


 

原创粉丝点击