当前位置: 代码迷 >> 综合 >> hdoj 2147 kiki's game (基础博弈)
  详细解决方案

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

热度:31   发布时间:2024-01-15 05:02:07.0

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;
}
  相关解决方案