博弈题
题目意思是从最右上角开始走,终点在最左下角,谁先走到终点,即谁赢
设V为必胜点,即kiki从该点必能先走到终点
设D为必输点 即Kiki从该点无论怎么走都无法先到达终点
以n=8,m=9为例子,从终点开始推
图应为:
PPPPPPPPPN
NNNNNNNPN
PPPPPPPNPN
NNNNNPNPN
PPPPNPNPN
NNNPNPNPN
PPNPNPNPN
NPNPNPNPN
可以发现n.m同时为偶数时都是P点(从终点开始看)
所以当n,m同时为偶数时KIKI输,其他情况都是KIKI赢
#include<stdio.h> int main() { int n,m; while(scanf("%d%d",&n,&m)&&(n+m)) { if(n%2&&m%2) printf("What a pity!\n"); else printf("Wonderful!\n"); } return 0; }