HDU 2147 kiki's game(博弈)

Problem Description

Recently 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?

Input

Input 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.

 

Output

If kiki wins the game printf "Wonderful!", else "What a pity!".

Sample Input

5 3

5 4

6 6

0 0

Sample Output

What 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;
}

猜你喜欢

转载自blog.csdn.net/Adusts/article/details/81385433