传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2147
题目大意:n*m的棋盘,一个硬币在右下角,每次只能向左、上、左上移动一次,无法操作者输。
分析:
游戏最终状态必定为(n,1),则可以从最终态逆向推就可以了(这段在草稿纸上完成)。最后可以发现n,m同时为奇数时为必败点。
代码:
#include <stdio.h>
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)&&(n||m))
puts((n&1 && m&1)?"What a pity!":"Wonderful!");
return 0;
}