HDU 1222 Wolf and Rabbit

原题链接:点击此处

题意:

狼捉兔子,兔子躲在n个洞中一个,这n个洞围成一个圈,狼会从第0号洞开始,搜索隔m的洞,一直搜索下去, 问是否存在洞另狼永远搜索不到。

 

对于输入的m,可以看作是狼的步伐。

对于输入的n,用0到n-1围成一圈。

思路:

如果m和n有最大公约数(非1),则有一些标号的洞坑狼永远到达不了,兔子有洞坑可以躲,是安全的;如果m和n没有最大公约数(最大公约数为1),则狼可以到达任意的洞坑,兔子无处可躲。

#include <iostream>
#include <stdio.h>
using namespace std;

int main()
{
    int p;
    long m,n;
    scanf("%d",&p);
    while(p--)
    {
        scanf("%ld %ld",&m,&n);
        while(n!=0)
        {
            int t=m%n;
            m=n;
            n=t;
        }
        printf("%s\n",m==1?"NO":"YES");
    }
    return 0;
}
View Code

 

 

posted @ 2016-08-06 15:06  君子酱  阅读(124)  评论(0编辑  收藏  举报