HDU2147(模拟找规律)

来源:互联网 发布:唱吧假唱软件 编辑:程序博客网 时间:2024/05/18 02:20

首先模拟打表,从表(1表示必胜态,0表示必败态)中找到规律:有偶数先手一定赢,没有偶数则后手赢
打表代码

#include <stdio.h>bool gird[2000+10][2000+10];//1代表必胜点 0代表必败点int main(){    int i,j;    int n,m;    gird[2000][1]=0;    for(i=2000;i>0;--i)    {        for(j=1;j<=2000;++j)        {            gird[i][j]=0;            if( (gird[i+1][j]==0&&i+1<=2000) || (gird[i][j-1]==0&&j-1>=1) ||(gird[i+1][j-1]==0&&i+1<=2000&&j-1>=1) )                gird[i][j]=1;        }    }    for(i=1;i<=20;++i)        for(j=1;j<=20;++j)        {            i=2000-i+1;            printf("%d ",gird[i][j]);            if(j==20)                printf("\n");        }    return 0;}

具体代码

#include <stdio.h>int main(){    int a,b;    while(scanf("%d%d",&a,&b)&&(a!=0||b!=0))    {        if(a%2==0||b%2==0)            printf("Wonderful!\n");        else             printf("What a pity!\n");    }    return 0;}
0 0
原创粉丝点击