http://acm.hdu.edu.cn/showproblem.php?pid=2147
题意:给一个
n×m
n
×
m
的棋盘,棋子一开始位于右上角
(1,m)
(
1
,
m
)
处,两个人轮流移动棋子,只能向左,向下,向左下移动一格,不能再进行移动的人输,双方都采取最优策略,问谁赢。
找规律嘛,画出
PN
P
N
图就很明显,
n∗m
n
∗
m
是偶数的时候,先手必胜。
PN
P
N
图如下:
… | N | P | N | P | N | P |
---|---|---|---|---|---|---|
N | P | N | P | N | N | |
N | P | N | P | P | P | |
N | P | N | N | N | N | |
N | P | P | P | P | P | |
… | … |
#include<iostream>
#include<cstdio>
#include<stack>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
int n,m,p;
while(1)
{
scanf("%d%d",&n,&m);
if(n==0&&m==0) break;
if(n%2==0||m%2==0) printf("Wonderful!\n");
else printf("What a pity!\n");
}
return 0;
}