洛谷——P1290 欧几里德的游戏

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



1、设m,n为输入数据且m>n,第一个满足条件m-n>n的步骤所对应的人为胜利者

 2、m%n==0时的步骤所对应的人为胜利者。

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
using namespace std;
int n,x,y,ans;
int read()
{int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0'; ch=getchar();}return x*f;
}
void f(int x,int y)
{while(1){if(x>y) swap(x,y);if(y%x==0) break;if(y-x>x) break;y-=x;ans++;}
}
int main()
{n=read();while(n--){ans=0;x=read(),y=read();f(x,y);if(ans%2==0) printf("Stan wins\n");else printf("Ollie wins\n");}return 0;
}

 

转载于:https://www.cnblogs.com/z360/p/7505380.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

passport身份验证_了解如何使用Passport.js处理Node身份验证

passport身份验证by Antonio Erdeljac通过安东尼奥埃尔德雅克 了解如何使用Passport.js处理Node身份验证 (Learn how to handle authentication with Node using Passport.js) Support me by reading it from its original source: ORIGINAL SOURCE通过阅读原始来源为我提供支…

leetcode1448. 统计二叉树中好节点的数目(dfs)

给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有任何节点的值大于 X 的值。 代码 /*** Definition for a binary tree node.* public class TreeNode {* int val;…

I/O模型系列之四:两种高性能IO设计模式 Reactor 和 Proactor

不同的操作系统实现的io策略可能不一样&#xff0c;即使是同一个操作系统也可能存在多重io策略&#xff0c;常见如linux上的select&#xff0c;poll&#xff0c;epoll&#xff0c;面对这么多不同类型的io接口&#xff0c;这里需要一层抽象api来完成&#xff0c;所以就演变出来两…

python中序列类型和数组之间的区别_「Python」序列构成的数组

一、Python 标准库的序列类型分为&#xff1a;容器序列&#xff1a;能够存放不同类型数据的序列(list、tuple、collections.deque)。扁平序列&#xff1a;只能容纳一种类型的数据(str、bytes、bytearray 和 array.array)。其中&#xff0c;容器序列存放的是它们所包含的任意类型…

如何使用EF Core在Blazor中创建级联的DropDownList

介绍 (Introduction) In this article, we are going to create a cascading dropdown list in Blazor using Entity Framework Core database first approach. We will create two dropdown lists — Country and City. Upon selecting the value from the country dropdown, …

gcc/g++命令

参考&#xff1a;http://www.cnblogs.com/cryinstall/archive/2011/09/27/2280824.html 注意&#xff1a;gcc和g是linux系统下的编程常用指令&#xff0c;C语言文件用gcc&#xff0c;cpp文件用g。 1.预处理 g -E filename.cpp > filename.i 功能&#xff1a;输出预处理后的…

计算机存储

位&#xff08;bit&#xff09;&#xff1a;一个数字0或一个数字1&#xff0c;代表一位 字节&#xff08;Byte&#xff09;&#xff1a;每逢8位是一个字节&#xff0c;是数据存储的最小单位 1Byte 8 bit 平时所说的网速&#xff1a; 100Mbps实际上是以位&#xff08;b&#xf…

leetcode113. 路径总和 II(dfs)

给定一个二叉树和一个目标和&#xff0c;找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树&#xff0c;以及目标和 sum 22&#xff0c;5/ \4 8/ / \11 13 4/ \ / \7 2 5 1 返回:[[5,4,11,…

java forward 修改请求参数_聊聊springboot session timeout参数设置

序本文主要介绍下spring boot中对session timeout参数值的设置过程。ServerPropertiesspring-boot-autoconfigure-1.5.8.RELEASE-sources.jar!/org/springframework/boot/autoconfigure/web/ServerProperties.javaOverridepublic void customize(ConfigurableEmbeddedServletCo…

javascript控制台_如何使用JavaScript控制台改善工作流程

javascript控制台by Riccardo Canella里卡多卡内拉(Riccardo Canella) 如何使用JavaScript控制台改善工作流程 (How you can improve your workflow using the JavaScript console) As a web developer, you know very well the need to debug your code. We often use extern…

appium===setup/setupclass的区别,以及@classmathod的使用方法

一、装饰器 1.用setUp与setUpClass区别 setup():每个测试case运行前运行 teardown():每个测试case运行完后执行 setUpClass():必须使用classmethod 装饰器,所有case运行前只运行一次 tearDownClass():必须使用classmethod装饰器,所有case运行完后只运行一次 2.是修饰符&#xf…

cache failed module status_Flutter混编之路——iOS踩坑记录

一、运行Xcode编译或者flutter run/build 过程中报错&#xff1a;"x86_64" is not an allowed value for option "ios-arch".解决方案在Debug.xcconfig中指定 “FLUTTER_BUILD_MODEdebug”&#xff0c;Release.xcconfig中指定“FLUTTER_BUILD_MODErelease”…

【最短路径Floyd算法详解推导过程】看完这篇,你还能不懂Floyd算法?还不会?...

简介 Floyd-Warshall算法&#xff08;Floyd-Warshall algorithm&#xff09;&#xff0c;是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法&#xff0c;与Dijkstra算法类似。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特…

java object类的常用子类_Java中Object类常用的12个方法,你用过几个?

前言Java 中的 Object 方法在面试中是一个非常高频的点&#xff0c;毕竟 Object 是所有类的“老祖宗”。Java 中所有的类都有一个共同的祖先 Object 类&#xff0c;子类都会继承所有 Object 类中的 public 方法。先看下 Object 的类结构(快捷键&#xff1a;alt7)&#xff1a;1.…

leetcode面试题 04.12. 求和路径(dfs)

给定一棵二叉树&#xff0c;其中每个节点都含有一个整数数值(该值或正或负)。设计一个算法&#xff0c;打印节点数值总和等于某个给定值的所有路径的数量。注意&#xff0c;路径不一定非得从二叉树的根节点或叶节点开始或结束&#xff0c;但是其方向必须向下(只能从父节点指向子…

javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

一、ServletJSPJavaBean开发模式(MVC)介绍 ServletJSPJavaBean模式(MVC)适合开发复杂的web应用&#xff0c;在这种模式下&#xff0c;servlet负责处理用户请求&#xff0c;jsp负责数据显示&#xff0c;javabean负责封装数据。 ServletJSPJavaBean模式程序各个模块之间层次清晰&…

2018黄河奖设计大赛获奖_宣布我们的freeCodeCamp 2018杰出贡献者奖获奖者

2018黄河奖设计大赛获奖by Quincy Larson昆西拉尔森(Quincy Larson) 宣布我们的freeCodeCamp 2018杰出贡献者奖获奖者 (Announcing Our freeCodeCamp 2018 Top Contributor Award Winners) Over the past 3 years, freeCodeCamp.org has grown from a small open source proje…

Log4j配置详解

来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的&#xff0c;它可接keyvalue格式的设置或xml格式的设置信息。通过配置&#xff0c;可以创建出Log4J的运行环境。1. 配置文件 …

cors数据类型_如何根据RTK的差分格式选择千寻cors账号的源节点进行设置?

千寻cors账号的设置中源节点是根据使用的品牌RTK是为双星仪器还是三星仪器选择&#xff0c;但问题就在于我们看到的RTK的技术参数中一般很少见到标注仪器的卫星系统&#xff0c;更多的是差分格式。其实千寻cors账号的源节点也可以根据RTK的差分格式进行选择&#xff0c;不过这两…

java swing 串口_ComTest 接收串口数据,并显示在文本框内,通过JavaSwing实现 Develop 265万源代码下载- www.pudn.com...

文件名称: ComTest下载 收藏√ [5 4 3 2 1 ]开发工具: Java文件大小: 3157 KB上传时间: 2016-09-21下载次数: 0提 供 者: 韩坤详细说明&#xff1a;接收串口数据&#xff0c;并显示在文本框内&#xff0c;通过JavaSwing实现-Receive serial data, and displayed in the t…