kiki的游戏
时间限制:5000/1000 MS(Java / Others)内存限制:40000/10000 K(Java / Others)总提交内容:12295已接受提交内容:7472
问题描述
最近kiki无事可做。虽然她感到无聊,但他脑海中浮现出一个想法,她只是玩棋盘游戏。桌子的大小是n * m。首先,硬币放在右上角(1,m)。每次有人可以将硬币移动到左侧,下方或左下方的空白处。无法移动的人将失去游戏。kiki和ZZ一起玩。游戏总是从kiki开始。如果两者都完美发挥,谁会赢得比赛?
输入
输入包含多个测试用例。每行包含两个整数n,m(0 <n,m <= 2000)。当n = 0和m = 0时输入终止。
产量
如果kiki赢得了游戏printf“很棒!”,否则“太可惜了!”。
示例输入
5 3
5 4
6 6
0 0
示例输出
太遗憾了!
精彩!
精彩!
P/N图:
根据必胜点必败点的性质得到该题目的算法:
1.所有终结点必是必败点(P)
2.从任何必胜点(N)操作,至少有一种操作可以进入必败点(P);
3.无论如何操作,从必败点(P)都只能进入必胜点(N);
以样例5 3为例
根据性质1,将(n,1)置为P,则根据性质2 3填充
P N P
N N N
P N P
N N N
P N P
很明显kiki输