https://atcoder.jp/contests/panasonic2020/tasks/panasonic2020_b
問題文をみると、半分くらいのマスは移動できそうな感じがある。
なので、HW/2をベースに考えていこう。
小さいケースで見てみると、HWが奇数なら答えが1つ増える。
切り捨て分が答えになるためである。
…で出すとWA。
さすが、rngさん問題。ただでは通さない。
HかWが1の場合は全く動かすことができないので、答えは1になる。
これに気づくのは難しいと感じるかもしれないが、コーナーケースを探すときの初手は最も小さいパターンである。
まずは、小さいケースで考えてみよう。
解説
https://atcoder.jp/contests/panasonic2020/submissions/10894775
ll H, W; //--------------------------------------------------------------------------------------------------- void _main() { cin >> H >> W; if (H == 1 or W == 1) { cout << 1 << endl; return; } ll ans = H * W / 2; if ((H * W) % 2 == 1) ans++; cout << ans << endl; }