题目大意:就是有一个游戏,在一个n*m的矩阵中起始位置是(1,m),走到终止位置(n,1);游戏规则是只能向左,向下,左下方向走,想走到终点的为获胜者。
巴什博弈的资料:
只要把PN状态图描绘出来就行了:
P点:就是P个石子的时候,对方拿可以赢(自己输的)
N点:就是N个石子的时候,自己拿可以赢
现在关于P,N的求解有三个规则
(1):最终态都是P
(2):按照游戏规则,到达当前态的前态都是N的话,当前态是P
(3):按照游戏规则,到达当前态的前态至少有一个P的话,当前态是N
5*5的PN图
可以看出当纵坐标或横坐标有一个为偶数时,就会胜
#include<stdio.h>
using namespace std;
int main(){
int n,m;
while(scanf("%d%d",&n,&m)&&n&&m){
if(n%2==0||m%2==0)
printf("Wonderful!\n");
else printf("What a pity!\n");
}
return 0;
}