No.2631 Rectangle Grid Game
タグ : / 解いたユーザー数 49
作問者 : kenken714 / テスター : ebi_fly noya2 👑 potato167
問題文
これから、AliceとBobの2人のプレイヤーで、グリッド上で陣地を取りあうゲームをします。
縦 $H$ マス、横 $W$ マスのグリッドが与えられます。ここで、左上のマスは $(1, 1)$ 、右下のマスは $(H, W)$ です。
初期状態ではAliceとBobの駒がそれぞれマス $(X_A, Y_A), (X_B, Y_B)$ ($(X_A,Y_A)\neq(X_B,Y_B)$) に置かれています。
また、マス $(X_A, Y_A)$ はAliceの陣地、マス $(X_B, Y_B)$ はBobの陣地であり、それ以外のマスはどちらの陣地でもありません。
Aliceが先手となり、手番を交互に入れ替えます。自分の手番では、次に示す順番で操作をします。
- 自分の駒が現在いるマスを$(X, Y)$として、$(*)$ の条件を満たす、自分の陣地のマスまたはどちらの陣地でもないマス $(X^\prime, Y^\prime)$ を選択する。
- 自分の駒を $(X^\prime, Y^\prime)$ に移動する。
- $(*)$ で指定した長方形領域の中のマスを、全て自分の陣地にする。
$(*)$ マス$(X, Y)$とマス$(X^\prime, Y^\prime)$を1つの対角線とするような長方形領域の中に、相手の陣地となっているマスが存在しない。
厳密に述べると、 $\min(X, X^\prime) \le i \le \max(X, X^\prime)$ , $\min(Y, Y^\prime) \le j \le \max(Y, Y^\prime)$ を満たす全ての整数 $i$, $j$について、
マス $(i, j)$は相手の陣地ではない。
Bobの$10^{100}$ 回目の手番が終了したとき、ゲームが終了します。
ゲームの終了時、自分の陣地であるマスが多い方のプレイヤーが勝利となります。そのようなマスが2人とも同数の場合、引き分けとなります。
それぞれが最善な動きをした時、Aliceが勝利することとなる、マスの初期位置を与える変数 $(X_A, Y_A, X_B, Y_B)$ の組の個数を求めてください。
ただし、そのような個数は非常に大きくなることがあるため、 $998,244,353$ で割った余りを求めてください。
制約
- $2 \le H \le 10^9$
- $2 \le W \le 10^9$
- 入力で与えられる値は全て整数
入力
入力は以下の形式で与えられます。$H$ $W$
出力
求める変数の組の個数を $998,244,353$ で割った余りを出力してください。 最後に改行してください。
サンプル
サンプル1
入力
3 4
出力
94
例えば、 $(X_A, Y_A, X_B, Y_B) = (1, 1, 3, 4)$のとき、
- Aliceがマス $(2, 3)$ に移動
- Bobがマス $(3, 1)$ に移動
- Aliceがマス $(1, 4)$ に移動
ほかのすべての例についても考えると、Aliceが勝利する変数の組は合計で $94$ 通りあります。
サンプル2
入力
2 2
出力
0
初期状態にかかわらず、引き分けになります。
サンプル3
入力
3141 5926
出力
428758522
$998,244,353$ で割った余りを出力してください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。