HDU 1525 Euclid's Game
题目大意:
题目给出了两个正数a.b
每次操作,大的数减掉小的数的整数倍。一个数变为0 的时候结束。
谁先先把其中一个数减为0的获胜。问谁可以赢。Stan是先手。
题目思路:
无论a,b的值为多少,局面:[a%b,b] 一定会出现。
双方都足够聪明,无论谁都知道这种局面是必胜局面还是必败局面
若是必败局面操作者为了获胜,直接到达[a%b,b]局面就可以(将必败局留给对方)
若是必胜局操作者为了获胜,到达[a%b+b,b]局面(经过对手操作后,将必胜局面留给自己)
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> #include<iostream> #include<algorithm> #define INF 0x3f3f3f3f #define MAXSIZE 100005using namespace std;int Game(int a,int b) {int op=1;while(1){if(a < b) swap(a,b);if(a%b==0 || a/b>=2) break;while(a>b && a<2*b){a-=b;op=-op;//swap(a,b); }}return op; }int main() {int a,b;while(scanf("%d%d",&a,&b),a+b){int op=Game(a,b);if(op==1)printf("Stan wins\n");elseprintf("Ollie wins\n");}return 0; }
View Code
转载于:https://www.cnblogs.com/alan-W/p/6284209.html
HDU 1525 Euclid's Game相关推荐
- hdu 1525 Euclid‘s Game
hdu 1525 文章目录 Problem Description 题意: 题解: 代码: Problem Description Two players, Stan and Ollie, play, ...
- HDU 1525 - Euclid's Game ( 博弈 )
题意 Stan和Ollie玩游戏,Stan先手.给出两个数字,可以用大数减去小数的整数倍,要求不能减到小于0.谁先将一个数字减到0,谁获胜. 思路 博弈 假设 a > b 比赛的时候想到了关于a ...
- HDU 1525 类Bash博弈
给两数a,b,大的数b = b - a*k,a*k为不大于b的数,重复过程,直到一个数为0时,此时当前操作人胜. 可以发现如果每次b=b%a,那么GCD的步数决定了先手后手谁胜,而每次GCD的一步过程 ...
- 【 HDU - 1525 】Euclid's Game(较难找规律,玄学博弈,分析必败点必胜点)
题干: Two players, Stan and Ollie, play, starting with two natural numbers. Stan, the first player, su ...
- HD 1525 Euclid's Game
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1525 Problem Description Two players, Stan and Ollie, ...
- HDU - 1525
题意:给你两个数,a,b,有两个人轮流进行一次操作, 每次操作可以将大的数减去k倍的小的数,最后不能操作的人输了,问你谁赢了. 思路:我们可以用辗转相除法求出对于每一个状态可以改变几次,这样问题就变成 ...
- hdu 1525 博弈
欧几里德问题上的博弈,理解后不难. /* * hdu1525/win.cpp * Created on: 2011-11-11 * Author : ben*/#include <cstdio& ...
- 一起开心2020暑假训练第一周
hdu 1576 A/B oj传送 题解: Poj 1061 青蛙的约会 oj传送 题解: hdu 1525 Euclid's Game oj传送 题解: Poj 3070 Fibonacci oj传 ...
- [kuangbin]各种各样的题单
[kuangbin]各种各样的题单 专题1 简单搜索 POJ 1321 POJ 2251 POJ 3278 POJ 3279 POJ 1426 POJ 3126 POJ 3087 POJ 3414 F ...
最新文章
- ASP.NET的用户控件
- 6 js 比较两个数组的差异_每天一道算法题(js)(3)——寻找两个有序数组的中位数...
- python编程语言能干什么-python编程语言的优势与劣势--python能干啥
- bzoj1007题解
- 系统管理员在企业中的职业定位及发展方向 连载(一)
- IntelliJ IDEA 项目开发中各个目录的关系
- 一首歌,一种情感,一种心情
- 城市APP集成Firebase/Admob/增强现实带PHP管理后台
- 7-36 并查集【模板】 (10 分)
- android listview的理解,Android ListView的理解
- SQLi LABS Less-22
- mysql报错01427_ORA-01427问题的分析和解决
- java实现deflate算法
- [原创]独立模式安装Hive
- C语言中指针数组和数组指针
- php中的递归调用函数返回值,深入理解php递归函数返回值的正确用法
- SpringBoot文件夹压缩下载实现示例
- P4234(最小差值生成树 lct维护生成树)
- C++ GBD调试
- 【折纸】如何折一个装桌面垃圾的纸盒子