自己想明白的第一道博弈。
首先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 ;
}

最新文章

  1. WINDOWS系统下MYSQL安装过程中的注意事项
  2. file_put_contents 错误:failed to open stream: Invalid argument 一种原因
  3. hibernate-取消关联外键引用数据丢失抛异常的设置@NotFound
  4. HDU-3308 LCIS(区间合并)
  5. 学习android的博客
  6. 管理员把我的admin权限去掉了,那么如何获得jdk zip安装呢?这篇可以帮你。
  7. 从xib加载文件
  8. MQL5 获取最后一单 利润
  9. Java反射机制深度剖析
  10. Navicat连接报错:cannot load OCI DLL,126
  11. JSON 理解
  12. MUI - 复选框、单选框、使用js获取选择值
  13. spring整合junit报错
  14. ROS开发与常用命令
  15. jquery.form.js 让表单提交更优雅
  16. easyui tree loader用法
  17. 笔记:long、longlong、int、float、NSString相互转换
  18. 第五章:异步Web服务
  19. 团体程序设计天梯赛L1-022 奇偶分家 2017-03-22 17:48 81人阅读 评论(0) 收藏
  20. yocto 离线编译

热门文章

  1. agentzh --春哥--调试专家
  2. [转] 学习使用:before和:after伪元素
  3. css选择器优化
  4. PL/SQL Select into 异常处理
  5. Couchbase用的端口
  6. The performance between the &#39;normal&#39; operation and the &#39;shift&#39; operation.
  7. maven+jetty项目在tomcat部署
  8. jstl--c:choose标签
  9. 挖潜无极限———数据挖掘技术与应用热点扫描[ZZ]
  10. Perl中级第四章课后习题