思路:从(1,m)出发,最终到达(n,1),我们可以倒着推,(n,1)是必败态,(n,2),(n-1,1)以及(n-1,2)都是必胜态,这样从左下角往右上角推(只能到达必胜态的状态是必败态,可以到达必败态的状态是必胜态),发现每四个方格都是一样的只有一个必败态,简单的画画就知道了。
然后得出的结论是当n和m为奇数时,右上角为必败态。
#include <cstring>
#include <algorithm>
#include <cmath>
#include <iostream>
#include <cstdio>
#include <vector>
#include <set>
using namespace std;
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF,m+n)
{
if((n&1)&&(m&1))
printf("What a pity!\n");
else
printf("Wonderful!\n");
}
return 0;
}