【杭電oj】1222 - Wolf and Rabbit(GCD)
Wolf and Rabbit
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7109 Accepted Submission(s): 3563
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.
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
Author
weigang Lee
Source
剛開始用的map模擬,結果爆記憶體了。
後來想了想,就是個GCD,如果兩個數互質,那麼每個點都能掃到;如果不互質,總會形成迴圈從而漏掉某些洞口。
程式碼如下:
#include <cstdio>
int GCD(int a,int b)
{
if (a % b == 0)
return b;
return GCD(b,a%b);
}
int main()
{
int u;
int n,k;
scanf ("%d",&u);
while (u--)
{
scanf ("%d %d",&k,&n);
if (GCD(n,k) == 1)
printf ("NO\n");
else
printf ("YES\n");
}
return 0;
}
相關文章
- HDU 1222 Wolf and Rabbit (擴充套件歐幾里德應用)套件
- C語言訓練之杭電OJC語言
- 杭電OJ 2032楊輝三角
- 杭電OJ 2066 一個人的旅行
- 杭電OJ 2048 完全錯排的可能性
- 針對OJ的JAVA 輸入(PAT,牛客網,杭電 etc)Java
- 杭電OJ 2028求n個數的最小公倍數
- ACdream OJ 1153 (k-GCD)GC
- 杭電OJ2029迴文串——Palindromes _easy version(C語言解析)C語言
- 杭電多校補題
- 『杭電1939』He is offside!IDE
- 2024杭電多校第8場
- 2024杭電多校第九場
- 2024杭電多校第9場
- rabbit加密加密
- 1222夢筆記筆記
- 『杭電1848』Fibonacci again and againAI
- 2024杭電多校覆盤 (1~5)
- Java 杭電ACM Train Problem I 1022JavaACMAI
- 電影《人兔的詛咒》(Wallace & Gromit in The Curse of the Were-Rabbit)MIT
- rabbit Clients & Developer ToolsclientDeveloper
- OJ搭建
- (杭電1019 最小公倍數) Least Common MultipleAST
- 杭電ACM hdu 2152 Fruit 解題報告(母函式)ACMUI函式
- GCD Inside: GCD 宏GCIDE
- Rabbit加密演算法加密演算法
- GCDGC
- wolf最近cisco認證視訊教程經典
- 杭電ACM hdu 1398 Square Coins 解題報告(母函式)ACM函式
- 杭電ACM hdu 2110 Crisis of HDU 解題報告(母函式)ACM函式
- GCD SUMGC
- GCD QueriesGC
- GCD Inside: GCD 資料結構GCIDE資料結構
- codechef Dynamic GCD [樹鏈剖分 gcd]GC
- 杭電ACM hdu 1171 Big Event in HDU 解題報告(母函式)ACM函式
- 杭電ACM hdu 2082 找單詞 解題報告(母函式)ACM函式
- Mac網站設計軟體——Wolf 2 Responsive DesignerMac網站
- 奇怪的GCDGC