AC日记——欧几里得的游戏 洛谷 P1290
题目描述
欧几里德的两个后代Stan和Ollie正在玩一种数字游戏,这个游戏是他们的祖先欧几里德发明的。给定两个正整数M和N,从Stan开始,从其中较大的一个数,减去较小的数的正整数倍,当然,得到的数不能小于0。然后是Ollie,对刚才得到的数,和M,N中较小的那个数,再进行同样的操作……直到一个人得到了0,他就取得了胜利。下面是他们用(25,7)两个数游戏的过程:
Start:25 7
Stan:11 7
Ollie:4 7
Stan:4 3
Ollie:1 3
Stan:1 0
Stan赢得了游戏的胜利。
现在,假设他们完美地操作,谁会取得胜利呢?
输入输出格式
输入格式:
第一行为测试数据的组数C。下面有C行,每行为一组数据,包含两个正整数M, N。(M, N不超过长整型。)
输出格式:
对每组输入数据输出一行,如果Stan胜利,则输出“Stan wins”;否则输出“Ollie wins”
输入输出样例
输入样例#1:
2
25 7
24 15
输出样例#1:
Stan wins
Ollie wins 思路: 模拟,博弈论; 来,上代码:
#include<cstdio> #include<algorithm>using namespace std;int cnt,m,n;bool search(int big,int small,bool if_) {if(big%small==0) return if_;int num_=big/small;if(num_>1){int big_=big%small+small,small_=small;if(small_>big_) swap(small_,big_);bool if_there=search(big_,small_,!if_);if(if_there==if_) return if_;}big=big%small;if(small>big) swap(big,small);return search(big,small,!if_); }int main() {scanf("%d",&cnt);while(cnt--){scanf("%d%d",&m,&n);if(n>m) swap(m,n);if(search(m,n,true)) printf("Stan wins\n");else printf("Ollie wins\n");}return 0; }
转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6189205.html
AC日记——欧几里得的游戏 洛谷 P1290相关推荐
- AC日记——小木棍【数据加强版】 洛谷 P1120
题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度. 给出每段小木棍的长度,编 ...
- 广度优先搜索——好奇怪的游戏(洛谷 P1747)
题目选自洛谷P1747 简单的广搜模板题,4+8 = 12个方向进行bfs,目的地是(1,1) 每次查看队首是否到达,若到达(1,1) 则返回队首步长即可~ 需要注意的是,马走日和像走田的位置计算 i ...
- 模拟——扫雷游戏(洛谷 P2670)
模拟算法指的是让程序完整地按照题目叙述的方式运行得到答案! 此题选自洛谷P2670 也是一道简单模拟的题,没有必要列举出8个if语句逐一判断8个方向, 只需要用一个二维数组来保存8个方向即可. 需要注 ...
- 2019年东莞特长生 游戏(洛谷 P2661 信息传递)
Description 某校科技节到了,有? 个同学(编号为1到?)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为? 的同学的信息传递对象是编号为??的同学. 游戏开始 ...
- 洛谷——P1290 欧几里德的游戏
P1290 欧几里德的游戏 题目描述 欧几里德的两个后代Stan和Ollie正在玩一种数字游戏,这个游戏是他们的祖先欧几里德发明的.给定两个正整数M和N,从Stan开始,从其中较大的一个数,减去较小的 ...
- 洛谷:P1129 [ZJOI2007] 矩阵游戏(二分图最大匹配)
洛谷:矩阵游戏 洛谷题解就挺好 目的是使得最终(1,1)(2,2)-(n,n)都有一个点 可以看作为,最终状态需要每 i 行和 i 列都存在一个匹配 建图方式:对于 i 行 j 列的1点,建一条 i ...
- 题解 洛谷 P4042 [AHOI2014/JSOI2014]骑士游戏
洛谷P4042[AHOI2014/JSOI2014]骑士游戏\color{#00F}{洛谷\ P4042\ [AHOI2014/JSOI2014]骑士游戏}洛谷 P4042 [AHOI2014/JSO ...
- 洛谷P1000 超级玛丽游戏C++题解
首先我们看这道题的题目"超级玛丽游戏",第一道题就让我们写个游戏出来.结果点进去一看,顿时觉得这道题是在开玩笑,本题是洛谷的试机题目,可以帮助了解洛谷的使用. 建议完成本题目后继续 ...
- 洛谷解题P1000 超级玛丽游戏(C++)
此文章关于洛谷P1000 超级玛丽游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1000题目的解析: 先看题 ...
最新文章
- 软件测试用python一般用来做什么-月薪20K的软件测试岗,为什么要求我会Python?...
- 肝!分享这3个京东实战项目!(知识图谱拿走不谢)
- 怎样将计算机添加桌面快捷方式,Win10系统下如何将程序快捷方式添加到桌面上?【图文教程】...
- 计算机三级标题,计算机三级考试题目
- 安全出口指示灯警报、如何解除呢
- C 基础——指针函数与函数指针
- ES6 iterator 迭代器
- 如何进行各种码制数据之间转换
- CentOS安装Nvidia驱动和CUDA
- jflash合并bin文件
- 64位计算机比32快多少,电脑系统应该选择64位还是32位 到底哪个速度更快?
- BeanUtils.copyProperties 和 fastjson 性能对比
- 高德地图之周边搜索和路线规划
- Nvidia最新三维重建技术Instant-ngp初探
- delphi php post,delphi idhttp post 网页,该如何解决
- Java双列集合之Map以及斗地主案列
- 这套表情包,居然开源了!!
- zynq Linux软件中断,Linux Zynq GPIO中断
- 在IDEA中配置git本地仓库并提交远程仓库
- 想知道如何文字转语音真人发声?这3款工具轻松实现