标签:
Description
Input
Output
Sample Input
2 1 2 2 2
Sample Output
NO YES
题意:有一座环形山脉,山脉中一共有n个洞,编号为0~n-1,现在有一头狼,从编号为0的洞开始找兔子,每隔m个洞他就会进洞一次,直到回到起点,让你求兔子待在哪些洞中是安全的,如果这种洞存在就输出YES,否则输出NO
分析:我的想法是只要考虑有没有安全洞的情况,就将题目分成了两种情况,当n不为0时,只要m等于1那就没有安全洞存在(因为狼会将每个洞都遍历一遍),其他时候安全洞都是存在的;当n为1时,没有安全洞。但是好像不对,没弄懂。
参照别人的想法,本题的实质是判断两个数是否互质。这个也好理解
AC代码:
#include<iostream>
using namespace std;
int main()
{
int t,m,n,k;
cin>>t;
while(t--)
{
cin>>m>>n;
while(n!=0)
{
k=m%n;
m=n;
n=k;
}
if(m!=1) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
标签:
原文地址:http://www.cnblogs.com/lbyj/p/5730819.html