【HDOJ】1525 Euclid's Game
2024-10-07 04:26:12
自己想明白的第一道博弈。
首先a==b的时候肯定是先手赢;
然后当a>=2*b时,不妨假设a=nb+k, k<b,因此,不论后续怎么博弈,一定可以出现a=k, b=b的情况。因此,无论这个局面是胜或负,先手者一定可以得到利于自己的局面。
若(k,b)为负,则先手者从a减去nb,则先手胜;若(k,b)为胜,先手者从a减去(n-1)*b,则先手仍然胜。
当b<a<2*b时,只能对a减去b,然后进入下一轮仍旧按照上述策略博弈。
/* 1525 */
#include <cstdio>
#include <cstring>
#include <cstdlib> void swap(int &a, int &b) {
int tmp = a;
a = b;
b = tmp;
} int main() {
int a, b;
bool flag; #ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
#endif while (scanf("%d%d",&a,&b)!=EOF && (a||b)) {
if (a < b)
swap(a, b);
flag = true;
while () {
if (a==b || a>=*b)
break;
a -= b;
if (a < b)
swap(a, b);
flag = !flag;
}
if (flag)
puts("Stan wins");
else
puts("Ollie wins");
} return ;
}
最新文章
- WINDOWS系统下MYSQL安装过程中的注意事项
- file_put_contents 错误:failed to open stream: Invalid argument 一种原因
- hibernate-取消关联外键引用数据丢失抛异常的设置@NotFound
- HDU-3308 LCIS(区间合并)
- 学习android的博客
- 管理员把我的admin权限去掉了,那么如何获得jdk zip安装呢?这篇可以帮你。
- 从xib加载文件
- MQL5 获取最后一单 利润
- Java反射机制深度剖析
- Navicat连接报错:cannot load OCI DLL,126
- JSON 理解
- MUI - 复选框、单选框、使用js获取选择值
- spring整合junit报错
- ROS开发与常用命令
- jquery.form.js 让表单提交更优雅
- easyui tree loader用法
- 笔记:long、longlong、int、float、NSString相互转换
- 第五章:异步Web服务
- 团体程序设计天梯赛L1-022	奇偶分家 2017-03-22 17:48 81人阅读 评论(0) 收藏
- yocto 离线编译
热门文章
- agentzh --春哥--调试专家
- [转] 学习使用:before和:after伪元素
- css选择器优化
- PL/SQL Select into 异常处理
- Couchbase用的端口
- The performance between the &#39;normal&#39; operation and the &#39;shift&#39; operation.
- maven+jetty项目在tomcat部署
- jstl--c:choose标签
- 挖潜无极限———数据挖掘技术与应用热点扫描[ZZ]
- Perl中级第四章课后习题