HDU Wolf and Rabbit &&189 兔子的烦恼(一)【gcd】

来源:互联网 发布:知天下 两性 编辑:程序博客网 时间:2024/06/05 18:28

兔子的烦恼(一)

时间限制:1000 ms  |  内存限制:65535 KB
难度:2
描述

在一座山上有n个山洞(每个洞从0~n-1分别编号),这山上有一只兔子躲在山洞里,有一只狼,从编号为0的山洞开始入洞,每隔m-1个洞,再次入洞抓兔子,现在问,兔子能否避免这场灾难?

例如:m=2 and n=6, 狼将要进入的山洞号为:0,2,4,0;

输入
有多组测试数据,不超过1000组;
每组有两个整数m,n(0<m,n<=1000);
注意:程序以文件结束符“EOF”结束输入。
输出
兔子能避免这场灾难输出YES,否则输出NO;
样例输入
1 2
2 2
样例输出
NO
YES

/*2015年6月13号0:00:00 */#include<stdio.h>int gcd(int a,int b){int i=a%b;while(i!=0){a=b;b=i;i=a%b;}return b;}int main(){int m,n,a;while(~scanf("%d%d",&m,&n)){a=gcd(m,n);if(a!=1){printf("YES\n");}else{printf("NO\n");}}return 0;} 


第一次做的时候,想了很久,才大约明白意思,再次做这个,思路清晰了很多,两个数只有在gcd 为1的时候,才能保证全部能遍历到,具体解释自己也不太清楚...


英文版:


Wolf and Rabbit

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6532 Accepted Submission(s): 3261


Problem 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
21 22 2

Sample Output
NOYES


#include<stdio.h>int gcd(int a,int b){if(!b){return a;}return gcd(b,a%b);}int main(){int t;scanf("%d",&t);while(t--){int n,m;scanf("%d%d",&n,&m);if(gcd(n,m)==1){printf("NO\n");}else{printf("YES\n");}}return 0;} 





英文版:


0 0