该题应该很少有人是我这样做的。。。我自己YY了一下,发现如果狼转了一圈之后没能走回起点,那么它一定能在若干圈之后经过所有洞穴,但是具体证明我还没有想好。 正确性未知。
一开始WA是因为忽略了一些特殊情况以及n和m的大小关系。
细节参见代码:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<vector>
#include<set>
#include<cmath>
using namespace std;
typedef long long ll;
const int INF = 1000000000;
const int maxn = 500 + 5;
int n,m,T;
int main() {
scanf("%d",&T);
while(T--) {
scanf("%d%d",&m,&n);
if(m == 1) printf("NO\n");
else if(n == 1) printf("NO\n");
else if(n >= m) {
if(n % m == 0) printf("YES\n");
else printf("NO\n");
}
else {
if(m % n == 0) printf("YES\n");
else printf("NO\n");
}
}
return 0;
}