HDU 1525 Euclid's Game【博弈 PN找规律】
来源:互联网 发布:python简明教程pdf下载 编辑:程序博客网 时间:2024/05/16 03:29
题目传送门:hdu1525 Euclid’s Game
题意:
两个数,两人轮流操作,大数可以减去小数的整数倍(不能为负),先到0者为赢。
对某个状态(a, b) a >= b
最简单的情况,如果a%b == 0, 则先手必赢。
a > 2*b时,也是先手必赢,因为(a%b+b, b)状态必定与(a%b, b)相反,(a, b)可以转移到其中的必败态。
a < 2*b时,只能转移到(a-b, b),状态与其相反, 继续向下转移即可获知当前状态。
#include <cstdio>#include <algorithm>using namespace std;int main(int argc, char const *argv[]){ int a, b; while(scanf("%d%d", &a, &b), a&&b) { if(a < b) swap(a, b); bool win = true; while(1) { if(a % b == 0 || a >= b << 1) break; a -= b; swap(a, b); win = !win; } if(win) puts("Stan wins"); else puts("Ollie wins"); } return 0;}
0 0
- HDU 1525 Euclid's Game【博弈 PN找规律】
- HDU 1525 Euclid's Game (博弈、找规律)*
- HDU 1525 Euclid's Game 找规律博弈
- hdu 1525 Euclid's Game (博弈规律)
- HDU1525 Euclid's Game (找规律博弈)
- hdu 1525 || poj 2348 Euclid's Game(博弈找规律)
- hdu 1525 Euclid's Game(博弈——找规律)
- hdu 1525 Euclid's Game(博弈论找规律)
- POJ 2348 Euclid's Game (博弈找规律 )
- HDU 1525 Euclid's Game (博弈)
- hdu 1525 Euclid's Game 博弈
- [简单博弈] hdu 1525 Euclid's Game
- hdu 1525 Euclid's Game 博弈
- HDU 1525 Euclid's Game 博弈
- HDU 1525 Euclid's Game (博弈)
- HDU 1525 Euclid's Game 博弈
- hdu 1525 Euclid's Game 博弈
- HDU 1525 Euclid's Game(博弈)
- 使用Clonezilla(再生龙)备份还原centos系统 linux 系统备份还原
- unity 3D远程唤醒计算机
- TOJ 3863.Right Triangle(勾股数)
- Python Flask 中用 SQLAlchemy 访问 Mysql 数据库
- 初次使用instrument leaks小结
- HDU 1525 Euclid's Game【博弈 PN找规律】
- sublime3 emmet用法
- 求数列和
- 变量和基本类型
- 旅行_纪中2569_dfs+强连通分量
- 【21】Merge Two Sorted Lists
- 探索hash_set
- android 打开或关闭软键盘
- 业务系统权限控制模型-RBAC