HDU 1222   Wolf and Rabbit   (最大公约数)解题报告

题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88159#problem/G

题目:

Description

There is a hill with n holes around. The holes are signed from 0 to n-1.        A rabbit must hide in one of the holes. A wolf searches the rabbit in anticlockwise order. The first hole he get into is the one signed with 0. Then he will get into the hole every m holes. For example, m=2 and n=6, the wolf will get into the holes which are signed 0,2,4,0. If the rabbit hides in the hole which signed 1,3 or 5, she will survive. So we call these holes the safe holes.        

Input

The input starts with a positive integer P which indicates the number of test cases. Then on the following P lines,each line consists 2 positive integer m and n(0<m,n<2147483648).        

Output

For each input m n, if safe holes exist, you should output "YES", else output "NO" in a single line.        

Sample Input

2
1 2
2 2

Sample Output

NO
YES
题意:
山周围有从0~n-1的n个山洞,狼按逆时针的顺序抓兔子,判断兔子是否能活下来。
分析:
这是一个求最大公约数的问题。可以用书上的gcd算法--辗转相除法。gcd(a,b)=gcd(b,a%b),还要考虑它和边界条件gcd(a,0)=a。
代码:
 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4
 5 int gcd(int a,int b)//辗转相除法
 6 {
 7     return b==0?a:gcd(b,a%b);
 8 }
 9
10 int main()
11 {
12     int p;
13     int m,n;
14     scanf("%d",&p);
15     while(p--)
16     {
17         scanf("%d%d",&m,&n);
18         gcd(m,n);
19         if(gcd(m,n)==1)
20             printf("NO\n");
21         else
22             printf("YES\n");
23     }
24     return 0;
25 }

转载于:https://www.cnblogs.com/ttmj865/p/4746364.html

HDU 1222 Wolf and Rabbit(gcd)相关推荐

  1. HDU 1222 Wolf and Rabbit

    原题链接:点击此处 题意: 狼捉兔子,兔子躲在n个洞中一个,这n个洞围成一个圈,狼会从第0号洞开始,搜索隔m的洞,一直搜索下去, 问是否存在洞另狼永远搜索不到. 对于输入的m,可以看作是狼的步伐. 对 ...

  2. HDU各种比赛题题解(一)

    HDU各种比赛题题解(一) Gardon-DYGG Contest 1 HDU1178 Heritage from father[水题] - 海岛Blog - CSDN博客 HDU1181 变形课[D ...

  3. JavaScript实现求最大公约数 (GCD)的算法(附完整源码)

    JavaScript实现求最大公约数 (GCD)的算法(附完整源码) euclideanAlgorithm.js完整源代码 euclideanAlgorithm.js完整源代码 export defa ...

  4. Swift - 多线程实现方式(3) - Grand Central Dispatch(GCD)

    1,Swift继续使用Object-C原有的一套线程,包括三种多线程编程技术: (1)NSThread (2)Cocoa NSOperation(NSOperation和NSOperationQueu ...

  5. python用递归方式实现最大公约数_Python程序查找最大公因数(HCF)或最大公约数(GCD)...

    Python程序查找最大公因数(HCF)或最大公约数(GCD) 在此示例中,您将学习使用两种不同的方法查找两个数字的GCD:函数和循环以及欧几里得算法 要理解此示例,您应该了解以下Python编程主题 ...

  6. 【HDU 2612 Find a Way(BFS)】(兼BFS入门笔记)

    [HDU 2612 Find a Way(BFS)](兼BFS入门笔记) 原题入口: http://acm.hdu.edu.cn/showproblem.php?pid=2612 第一篇在CSDN的博 ...

  7. 最大公约数(gcd)

    最大公约数($gcd$) **[题目描述]** 给出$ n $个正整数$ai$, 标号$ 1,2,-,n$. 有$ m $个询问. 每个询问包含三个参数$ g$,$l$,$r$, 表示询问第$ l $ ...

  8. 2021-2022 ICPC, NERC, Southern and Volga Russian Regional Contest X-Magic Pair(gcd)

    2021-2022 ICPC, NERC, Southern and Volga Russian Regional Contest X-Magic Pair(gcd) 链接 题意:给出a,b,有两种选 ...

  9. 【Effective Objective-C 2.0读书笔记】第六章:块(Blocks)和大中枢派发(GCD)

    继续这本书的读书笔记,希望在其中也加入自己的一些总结,以加深理解.之前这一章写了很多了,保存到草稿箱中,不知道为何丢失了,真是可惜,看来CSDN的MarkDown编辑器还存在一些bugs,在它打上补丁 ...

最新文章

  1. 神还原女神照片!GAN为百年旧照上色
  2. 小新pro13 重装注意_新款小新pro 13注意什么?买前必读
  3. 马斯克谈买比特币:当法币实际利率为负时 只有“傻子”才不放眼他处
  4. Flutter - 底部导航详解与案例示范
  5. python写sql语句_如何在Python脚本中执行多个SQL语句?
  6. 数据库常用的事务隔离级别都有哪些?都是什么原理?
  7. 基于C语言的双人贪吃蛇游戏程序设计
  8. 已解决:录屏软件录不了全屏的问题
  9. java基础完整代码,22年最新
  10. 如何设置ie为默认浏览器
  11. 数据结构与程序设计——C++语言描述(Data Structures Program Design in C++) by Robert L.Kruse Alexander J.Ryb
  12. 【AI系列】1关于人工智能发展历史、资料推荐、技术体系的整理
  13. 计算机数据的发展阶段,计算机数据存储介质的发展阶段
  14. 破解Excel保护密码
  15. 计算机系大一认识实习报告,大一计算机实习报告范文
  16. [go]Go语言编译器的 “//go:“ 详解
  17. 动作制作合成PS人物飞溅墨迹液体效果
  18. 黎曼猜想(一) 欧拉乘积式
  19. M1卡区块控制位详解
  20. html5对话框背景透明度,纯CSS3背景透明的Speech Bubbles对话气泡

热门文章

  1. 今天rpm装glibc和glibc-common版本,出现二个包相互依赖,解决办法
  2. 解除Linux最大进程数和最大文件句柄打开数限制
  3. oracle 的自增需要依靠序列和触发器共同实现
  4. Cyrus SASL Libary学习
  5. C++实现离散余弦变换(参数为二维指针)
  6. Cordova的安装及环境配置
  7. (转)OS X Mountain Lion 系统配置 Apache+Mysql+PHP 详细教程
  8. Android系统进程Zygote启动过程的源代码分析(3)
  9. 关于IronPython
  10. Linux 命令(78)—— rmdir 命令