yukicoder No.384 マス埋めゲーム2
問題概要
縦横のどちらか一列すべてを消すゲーム。指定された番号の人が負けるかどうかを判定する問題。
解法
この問題はプレイヤーが負けないように選べはゲームをする回数はh + w - 1に必ずなるので、あとはmodで計算。ただし与えられる数字は0オリジンではなく、1オリジンなので、k % nとして、0オリジンになるように。
ミス
オーバーフローで1回WA
コード
#include <iostream> #include <algorithm> #include <cstdio> #include <cstdlib> using namespace std; int main(void){ long long h, w, n, k; cin >> h >> w >> n >> k; long long sum = h + w - 1; long amari = sum % n; //k % nで0オリジンにする if(amari == (k % n)) printf("YES\n"); else printf("NO\n"); return 0; }