//負ける条件…縦を全て埋めた or 横を全て埋めた, 負けそうになったら…2つ以上埋まってない方向を選ぶ //それ以外の場合…どちらでもよい //負けそうになったときの戦略のみから、「H + W - 1回塗りつぶすと終わる」ことが分かる。 //よって、(H + W - 2) % N == K - 1かどうかを判定すればよい。(K - 1しているのは, 番号は1から始まり, modは0から始まるため。) #include #define int long long using namespace std; signed main() { int h, w, n, k; cin >> h >> w >> n >> k; cout << ((h + w - 2) % n == k - 1 ? "YES" : "NO") << endl; return 0; }