POJ 2348 Euclid's Game(博弈)题解
题意:有a,b两个数字,两人轮流操作,每次可以选择两个之中较小的数字,然后另一个数字减去选择数字的任意倍数(不能减到负数),直到其中一个为0,不能操作为败
思路:这题用博弈NP思想,必败点和必胜点之间的转化。
我们假设当前状态为(x,y)其中x>=y,那么必有以下任一状态:
1. x < 2 * y:那么这是只能执行一个操作x - y,如果这个操作之后变成必败态,那么当前为必胜态;反之亦然。
2. x >= 2 * y:显然此时有多种选择,假设x = k * y,如果x - (k - 1) * y就变成了第一种情况,如果x - k * y就变成了第一种情况操作后的情况,显然这其中有一个是必胜态,那么此时情况2必然是必胜情况。
参考:Euclid's Game(poj2348+博弈)
代码:
#include<set> #include<map> #include<stack> #include<cmath> #include<queue> #include<vector> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> typedef long long ll; const int maxn = 1e6 + 10; const int seed = 131; const ll MOD = 1e9 + 7; const int INF = 0x3f3f3f3f; using namespace std;int main(){ll a, b;while(~scanf("%lld%lld", &a, &b) && a + b){int times = 0, num = 0;while(a != 0 && b != 0){times++;if(a > b) swap(a, b);num = b / a;if(num >= 2) break;b -= a;}if(times & 1) printf("Stan wins\n");else printf("Ollie wins\n");}return 0; }
转载于:https://www.cnblogs.com/KirinSB/p/9697250.html
POJ 2348 Euclid's Game(博弈)题解相关推荐
- POJ - 2348 Euclid's Game(博弈)
题目链接:点击查看 题目大意:给出初始的两个数字,每一次操作都要在规则下进行:令较大的数减去任意倍较小的数,必须保证不能出现负数,先减到零者获胜,问谁能获胜 题目分析:这个题目说是博弈我感觉更像是找规 ...
- 【博弈论】POJ[2348]Euclid's Game
好久不写博客了 最近在佳木斯培训 蒟蒻QAQ 今天来揭露一下这个虚伪的世界 [问题描述] Two players, Stan and Ollie, play, starting with two na ...
- 博弈最高位POJ 1704(Georgia and Bob-Nim博弈)
新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 Georgia and Bob Time Limit: 1000MS Memory Limit: 10000K Total Su ...
- HDU 1525 - Euclid's Game ( 博弈 )
题意 Stan和Ollie玩游戏,Stan先手.给出两个数字,可以用大数减去小数的整数倍,要求不能减到小于0.谁先将一个数字减到0,谁获胜. 思路 博弈 假设 a > b 比赛的时候想到了关于a ...
- poj 1067 取石子游戏(博弈+威佐夫博奕(Wythoff Game))
取石子游戏 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 29959 Accepted: 9818 Descriptio ...
- 组合博弈游戏 - SG函数和SG定理
转载来自:http://blog.csdn.net/luomingjun12315/article/details/45555495 在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜 ...
- (转载)--SG函数和SG定理【详解】
在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜点和必败点的概念: P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败. N点:必胜点,处于此情况下,双方操作均正 ...
- 组合游戏 - SG函数和SG定理
在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜点和必败点的概念: P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败. N点:必胜点,处于此情况下,双方操作均正 ...
- SG函数和SG定理【详解】
在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜点和必败点的概念: P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败. N点:必胜点,处于此情况下,双方操作均正 ...
最新文章
- iOS身份证号码识别
- mwArray与C++接口
- VC++学习(15):多线程
- 网页设计的css样式,网页设计引入CSS样式的五种方式_css
- mysql 5.6密钥_MySQL的密钥文件不正确
- linux编译c gedit,[2018年最新整理]LINUX-Gedit文本编辑器.ppt
- 【2019牛客暑期多校训练营(第二场)- F】Partition problem(dfs,均摊时间优化)
- 查看地区的ip段_「教程」CloudFlare 自选 IP优化网站速度
- sentinel 端口_Spring Cloud Alibba教程:Sentinel的使用
- 网站开启 IPv6 访问,测试是否支持 IPV6
- 【 Linux 网络虚拟化 】Netns
- 富士康已看到芯片短缺开始缓解迹象 预计下半年会有改善
- 弦图(Echarts)
- 目标检测算法综述(近20年)
- 杨凌职业技术学院计算机专业宿舍,杨凌职业技术学院宿舍条件怎么样,有独立卫生间和空调吗...
- win10系统怎么查看电脑配置,win10电脑配置查看
- 北大计算机科学系 97届,北大一专业:六代单传、一人旷课全系放假,毕业照只有一个人...
- vscode 使用beautify插件格式化.vue文件
- 心理测试详解:猴子小鸟蛇包
- 计算机考研11408总分418上岸攻略
热门文章
- 笔记本windows7设置WIFI教程(超详细)
- linux java ssl_linux系统下安装ssl证书(tomcat)
- java按键修改_修改键位映射,打造自己的个性键盘 [转自赵翔鹏的Blog]
- layer php弹出层,layer官方演示与讲解(jQuery弹出层插件)
- 科密a1无法连接数据库_支持无线图传的稳定器——致迅A1-pro图传稳定器
- mybatis 带分号批量sql_请查收,32 道 MyBatis 的高频面试题已答完
- lisp编程 滑动轴承的auto_基于Visual Lisp的滑动轴承设计
- Uncaught ReferenceError: FileAsyncWriter is not defined
- 数据库笔记05:创建与管理数据库
- c++ namespace_c++语法2、c执行命名空间输入输出