CF1200C
Значение вопросов:
Q разделены на внутреннюю и внешнюю окружность п, м части, каждая позицию попросила, если могут перейти от одной части к другой, должна быть линией 12:00.
Решение:
Если есть через стену 1 и 2, так что стороны не общаются. Тогда при п или м / общий знаменатель таких стен будет четко появляться.
КОД:
#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;
}