C 小红走网格
思路
考虑裴蜀定理,所有可达数均为 gcd 的倍数。故判断 (x, y) 是否为对应的 gcd(a, b) 和 gcd(c, d) 的倍数即可
代码
void solve(){
int x, y, a, b, c, d;
cin >> x >> y >> a >> b >> c >> d;
int g1 = __gcd(a, b), g2 = __gcd(c, d);
if(x % g2 == 0 && y % g1 == 0) cout << "YES\n";
else cout << "NO\n";
return ;
}