ZOJ 1913 Euclid's Game 【博弈论】
2013-04-23 20:48
357 查看
博弈论的题目。
判断给定状态(m, n)——m > n,判断此状态是否是必胜态。
直接判断不好判断,可以考虑胜败状态之间的转换。
要判断(m,n)的状态,必定会到达(n,m%n)这个状态,
如果m/n < 2,两个状态之间必须一次转移到,(m,n)的胜负就取决于(n,m%n);
如果m/n >= 2,当前决策者就可以必胜——因为如果(n,m%n)是败态,则当前决策者只需转移到(m%n+n,n)状态即可达到必胜。
判断给定状态(m, n)——m > n,判断此状态是否是必胜态。
直接判断不好判断,可以考虑胜败状态之间的转换。
要判断(m,n)的状态,必定会到达(n,m%n)这个状态,
如果m/n < 2,两个状态之间必须一次转移到,(m,n)的胜负就取决于(n,m%n);
如果m/n >= 2,当前决策者就可以必胜——因为如果(n,m%n)是败态,则当前决策者只需转移到(m%n+n,n)状态即可达到必胜。
#include <cstdio> #include <algorithm> using namespace std; int n, m; int main() { while (scanf("%d%d", &n, &m) == 2 && n+m) { bool win = true; while ( 1 ) { if (n > m) swap(n, m); if (n == 0 || n %m == 0 || m/n >= 2) break; m = m % n; win = !win; } if (win) printf("Stan wins\n"); else printf("Ollie wins\n"); } return 0; }
相关文章推荐
- 【ZOJ 1913】Euclid's Game(博弈)
- zoj 1913 Euclid's Game
- 基础博弈论之——简单的博弈问题【hdu1525】【Euclid‘s Game】
- Euclid's Game - POJ 2348 博弈论
- 【博弈论】POJ[2348]Euclid's Game
- 基础博弈论之——简单的博弈问题【hdu1525】【Euclid‘s Game】
- ZOJ 1913 Euclid's Game 博弈论
- POJ 2348-Euclid's Game(博弈论)
- HDU 1525 Euclid's Game 博弈论
- HDOJ 1525 Euclid's Game 博弈论
- hdu 1525 Euclid's Game 博弈论
- POJ-2348-Euclid's Game
- POJ 2348 Euclid's Game(简单博弈)
- hdu 1525 Euclid's Game 博弈
- poj 2348 Euclid's Game
- 【POJ】【2348】Euclid‘s Game
- HDU1527Euclid's Game 分析题
- poj2348 Euclid's Game
- poj 2348 Euclid's Game 博弈(推理)
- zoj 3644 Kitty's Game