HDU 1222 Wolf and Rabbit

来源:互联网 发布:linux的cat命令 编辑:程序博客网 时间:2024/04/27 21:16

Wolf and Rabbit

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


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
 

Author
weigang Lee
 

Source
杭州电子科技大学第三届程序设计大赛
 

Recommend
Ignatius.L   |   We have carefully selected several similar problems for you:  1207 1299 1219 2175 1997 
 

题意:有山有n个洞。标志为从0到n - 1。一只兔子必须藏在一个洞。一只狼搜索兔子以逆时针顺序。他进入的第一个洞是一个0。然后他将进入每隔开m个洞,再进入下一个洞。例如,m = 2和n = 6,狼将进入洞为0、2、4,0。如果兔子藏在洞1,3或5,她将生存。所以我们称这些漏洞的安全漏洞,给出n,m

问是否存在安全洞

思路:n,m互质就不存在,否则存在。

#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;__int64 init(__int64 a,__int64 b){__int64 t,m=1;if(a<b){t=a;a=b;b=t; }  while(m) { m=a%b; a=b; b=m; } return a;}int main(){int t;__int64 m,n;scanf("%d",&t);while(t--){scanf("%I64d%I64d",&m,&n);if(init(m,n)==1)printf("NO\n");elseprintf("YES\n");}return 0;}



0 0
原创粉丝点击