CF1200C
题意:
问内圆和外圆分别分成n、m份,每份有标号,问是否可以从一个部分走到另一个部分,12点钟位置一定有个线。
解法:
如果有一堵墙贯穿1和2,那么会使得两边不连通。这样的墙会显然出现再n或m/最大公约数的处。
CODE:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define LL long long
LL n,m,q;
inline LL gcd(LL a,LL b) {
return !b ? a : gcd(b,a%b);
}
int main() {
scanf("%lld%lld%lld",&n,&m,&q);
LL G = gcd(n, m);
LL nn = n / G, mm = m / G;
while (q--) {
LL x1, y1, x2, y2;
scanf("%lld%lld%lld%lld",&x1,&y1,&x2,&y2);
y1--, y2--;
LL ans1, ans2;
if(x1 == 1) ans1 = y1 / nn;
else ans1 = y1 / mm;
if(x2 == 1) ans2 = y2 / nn;
else ans2 = y2 / mm;
if(ans1 == ans2) puts("YES");
else puts("NO");
}
//system("pause");
return 0;
}