HDOJ 2147 kiki's game(基础博弈)



kiki's game

Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 40000/10000 K (Java/Others)
Total Submission(s): 8480    Accepted Submission(s): 5053


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
 

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!
 

题解:画出PN图(对于Kiki来说,每一个必败点的前一步都是必胜点),由PN图即可得到规律,当n*m为偶数是Kiki必胜。

代码如下:

#include
int main()
{
	int n,m;
	while(scanf("%d%d",&n,&m)&&n||m)
	{
		if((n*m)%2)
		   printf("What a pity!\n");
		else
		   printf("Wonderful!\n");
	}
	return 0;
} 

你可能感兴趣的:(博弈论)