Problem I: GJJ的日常之玩游戏(GDC)

时间:2022-07-26 08:35:42

Contest - 河南省多校连萌(四)

Problem I: GJJ的日常之玩游戏

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 107  Solved: 28

SubmitWeb Board

Description

GJJ好无聊啊,于是去找小伙伴玩。。。。
他们现在玩这样个游戏,GJJ和小伙伴n个人站成一排,从左到右依次报数,到达最右端折回继续报数,重复这个过程。直到所有人都报过k的倍数游戏结束。
问:这个游戏能否一直继续下去?

Input

输入数据多组;每组输入一行n和k,(2<=n<=1000000000)输入到文件尾结束.

Output

每组输出一行,能一直继续输出"Yes",否则输出"No".

Sample Input

4 3
3 3

Sample Output

Yes
No

HINT

#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b)
{
if(b==0)return a;
return gcd(b,a%b);
}
int main()
{
int n,m;
// freopen("D://1.in","r",stdin);
// freopen("D://1.out","w",stdout);
while(scanf("%d%d",&n,&m)!=-1)
{
if(gcd(2*n-2,m)==1)puts("No");
else puts("Yes");
}
return 0;
}

每个都可以到达k的倍数,则k*x-(2*n-2)*y=C (1<=C<=2*n-2)必须有解,既gcd(k,2*n-2)==1

一道简单的关于GDC的题,当时没做真的可惜只因为自己想把那道已经浪费了好多时间的题做出来,结果难题没做出来,简单题也没做出来。教训。