J - J
Crawling in process...
Crawling failed
Time Limit:1000MS Memory Limit:1000KB 64bit IO Format:%I64d & %I64u
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!博弈题,这道题仔细分析,会发现只要n活着m是偶数,那么先手(刚开始都是从(1,m)开始)处在必胜点所以,找到这点,这题不难AC,AC代码:#include<iostream> const int MAX=2001; int s[MAX][MAX]; using namespace std; int main() { int n,m,sum,i,j,k,t; sum=0; while(cin>>n>>m&&(n||m)) { if(n%2==0||m%2==0) cout<<"Wonderful!"<<endl; else cout<<"What a pity!"<<endl; } return 0; }