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

洛谷——P1290 欧几里德的游戏相关推荐

  1. P1290 欧几里德的游戏

    P1290 欧几里德的游戏 题意: 给定两个正整数 M 和 N,从 Stan 开始,从其中较大的一个数,减去较小的数的正整数倍,当然,得到的数不能小于 0.然后是 Ollie进行同样的操作,直到一个人 ...

  2. 洛谷P1129 [ZJOI2007] 矩阵游戏 题解

    洛谷P1129 [ZJOI2007] 矩阵游戏 题解 题目链接:P1129 [ZJOI2007] 矩阵游戏 题意:给定一张有黑白棋子的正方形棋盘,问存不存在解法使得经过若干次交换行或列的操作后,左上角 ...

  3. 洛谷解题P1000 超级玛丽游戏(C++)

    此文章关于洛谷P1000 超级玛丽游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1000题目的解析: 先看题 ...

  4. 【bzoj3240 洛谷P1397】矩阵游戏[NOI2013](矩阵乘法+卡常)

    题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3240 这道题其实有普通快速幂+费马小定理的解法--然而我太弱了,一开始只想到了矩阵乘法的 ...

  5. [洛谷P2584][ZJOI2006]GameZ游戏排名系统

    题目大意:同[洛谷P4291][HAOI2008]排名系统(双倍经验) 题解:略 卡点:无 C++ Code: #include <cstdio> #include <map> ...

  6. AC日记——欧几里得的游戏 洛谷 P1290

    题目描述 欧几里德的两个后代Stan和Ollie正在玩一种数字游戏,这个游戏是他们的祖先欧几里德发明的.给定两个正整数M和N,从Stan开始,从其中较大的一个数,减去较小的数的正整数倍,当然,得到的数 ...

  7. 洛谷P2252 取石子游戏(威佐夫博弈)

    题目背景 无 题目描述 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后 ...

  8. 洛谷——P1640 [SCOI2010]连续攻击游戏

    P1640 [SCOI2010]连续攻击游戏 题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备 ...

  9. 洛谷 P1129 [ZJOI2007]矩阵游戏 解题报告

    P1129 [ZJOI2007]矩阵游戏 题目描述 小\(Q\)是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个\(N*N\)黑白方阵进行(如同国际象棋一般 ...

最新文章

  1. Maven多工程的创建
  2. JAVA 设计的七大原则
  3. postgis启动_PostgreSQL的安装和启动方法大全
  4. linux java性能监控工具_Linux实时监控工具Nmon使用
  5. freecodecamp_freeCodeCamp的服务条款
  6. 7时过2小时是几时_飞机2小时和高铁7小时你愿意坐哪个?
  7. 测量坐标出现6位、7 、8位的情况
  8. UVA495 Fibonacci Freeze【大数+万进制】
  9. HAproxy的安装配置及动静分离
  10. oracle 12c sp2 0667,关于数据库安装的问题SP2-0667: Message file sp1.msb not found
  11. 数学软件Maple使用教程
  12. 信息系统管理师备考指南
  13. C语言100ms周期运行时间不够,DEH-系统调研报告.docx
  14. ts80x服务器系统,Lenovo ThinkServer TS80X 塔式服务器
  15. 20182319彭淼迪第一周学习总结
  16. 密码学的数学基础2-同余
  17. OkHttp简单封装
  18. 1853: [Scoi2010]幸运数字[容斥原理]
  19. 2022-2028全球房地产众筹平台行业调研及趋势分析报告
  20. C#调用obs studio 二次开发 源码分析 编译

热门文章

  1. mysql慢查询开启语句分析_mysql慢查询语句分析总结
  2. php的create_function、function_exists判断函数是否存在
  3. uva 11995——I Can Guess the Data Structure!
  4. Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令
  5. linux操作系统进程间通信IPC之管道pipe及FIFO
  6. C++ array初始化需要双层大括号
  7. 一个C++程序执行main函数前和执行完main函数后会发生什么。
  8. Java面试题中高级,java引用数据类型和基本数据类型区别
  9. 阿里P7大牛整理!BAT大厂面试基础题集合,成功入职字节跳动
  10. 微信小程序 设置背景占满整个页面