hdu2147PN图的画法

题目链接hdu2147

PN图的画法

两个状态:

P:面对P时先手必输

N:面对N时先手必胜

PN点的确定规则:

如果一个点能转换到的所有点都是N,那么此点状态为P。

如果一个点能转化到一个P,就说明能使对手面临必输状态,那么此点为N

所以从终点开始,先确定横纵坐标分别为1的点的状态,在确定中间点的状态。

找到规律就能确定n,m点的状态了

5*5的PN图

P N P N P
N N N N N
P N P N P
N N N N N
P N P N P

很容易发现

m n都是奇数的时候  是P  先手必输

#include
#include
#include
#include
#include
#include
using namespace std;
int n,m;
int main(){

    while(scanf("%d%d",&n,&m),(n||m)){
        if(n%2==1&&m%2==1){
            printf("What a pity!\n");
        }
        else {
            printf("Wonderful!\n");
        }
    }

    return 0;
}

 

你可能感兴趣的:(博弈论)