Problem DescriptionRecently kiki has nothing to do. While she is bored, an idea appears in his mind, she just playes the checkerboard game.The size of the chesserboard is n*m.First of all, a coin is placed in the top right corner(1,m). Each time one people can move the coin into the left, the underneath or the left-underneath blank space.The person who can't make a move will lose the game. kiki plays it with ZZ.The game always starts with kiki. If both play perfectly, who will win the game? InputInput contains multiple test cases. Each line contains two integer n, m (0<n,m<=2000). The input is terminated when n=0 and m=0. OutputIf kiki wins the game printf "Wonderful!", else "What a pity!". Sample Input5 3 5 4 6 6 0 0 Sample OutputWhat a pity! Wonderful! Wonderful! |
分析:因为每一步的走法只能是向左,向下,左下,于是自己画个表格可以得到一个结论,只有当m和n其中一个为偶数时整个游戏的最大步数为偶数,此时刚好kiki会赢。
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
int n, m;
while(scanf("%d %d", &n, &m) && (n + m)) {
if(m%2 && n%2) {
printf("What a pity!\n");
} else {
printf("Wonderful!\n");
}
}
return 0;
}