博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu1525 Euclid's Game , 基础博弈
阅读量:5745 次
发布时间:2019-06-18

本文共 607 字,大约阅读时间需要 2 分钟。

http://acm.hdu.edu.cn/showproblem.php?pid=1525
题意:
两人博弈,给出两个数a和b,

较大数减去较小数的随意倍数。结果不能小于0,将两个数随意一个数减到0的为胜者。

题解:
如果a大于b
a == b.  N态
a%b == 0. N态
a >= 2*b,先手能决定谁取(b,a%b),而且知道(b,a%b)是P态还是N态.    N态

b<a<2*b, 仅仅能 -->(b,a-b) , 然后再进行前面的推断.

#include
#include
using namespace std;int main() { int a, b; while(scanf("%d%d", &a, &b)) { if(a==0&&b==0) break; if(a
=2) break; int t = a; a = b; b = t - a; Stan = !Stan; } if(Stan) printf("Stan wins\n"); else printf("Ollie wins\n"); } return 0;}

转载地址:http://qdazx.baihongyu.com/

你可能感兴趣的文章
ES6:模块简单解释
查看>>
JavaScript indexOf() 方法
查看>>
用Bootstrap写一份简历
查看>>
ZJU PAT 1023
查看>>
WMI远程访问问题解决方法
查看>>
从零开始学习IOS,(UILabel控件)详细使用和特殊效果
查看>>
Android开发历程_15(AppWidget的使用)
查看>>
阿花宝宝 Java 笔记 之 初识java
查看>>
7、设计模式-创建型模式-建造者模式
查看>>
Cesium官方教程11--建模人员必读
查看>>
我国古代的勾股定理
查看>>
Linux下的C编程实战
查看>>
[32期] html中部分代码与英语单词关系
查看>>
PHP安装环境,服务器不支持curl_exec的解决办法
查看>>
jQuery|元素遍历
查看>>
RedHat 6 安装配置Apache 2.2
查看>>
Openstack 安装部署指南翻译系列 之 Manila服务安装(Share Storage)
查看>>
underscore.js学习笔记
查看>>
windows下常用命令
查看>>
1.5编程基础之循环控制_29:数字反转
查看>>