这题的题意说的有点不清楚,它实际的意思是每次只能走一步,分别向左,向下,或者左下。
这题的n和m首先都应该减去1,这是实际上,下面和右边的距离,这样就转化成另一个模型,即两堆石子,一堆n-1个,另一堆m-1个,每次可以从一堆中任选一堆,从中取一个,或者从两堆中都取一个。
这题应该用PN打表去写,打表如下
0 1 2 3 4
0 P N P N P
1 N N N N N
2 P N P N P
3 N N N N N
4 P N P N P
由此可知,当行列全为偶数时,KiKi会输。
#include <iostream> #include <stdio.h> int main() { int n,m; while (scanf("%d%d",&n,&m)&&n+m!=0) { n--; m--; if (n%2==1&&m%2==1) { puts("Wonderful!"); } else if (n%2==0&&m%2==0) { puts("What a pity!"); } else { puts("Wonderful!"); } } return 0; }