No.2631 Rectangle Grid Game
タグ : / 解いたユーザー数 49
作問者 :


問題文
これから、AliceとBobの2人のプレイヤーで、グリッド上で陣地を取りあうゲームをします。
縦 マス、横 マスのグリッドが与えられます。ここで、左上のマスは 、右下のマスは です。
初期状態ではAliceとBobの駒がそれぞれマス () に置かれています。
また、マス はAliceの陣地、マス はBobの陣地であり、それ以外のマスはどちらの陣地でもありません。
Aliceが先手となり、手番を交互に入れ替えます。自分の手番では、次に示す順番で操作をします。
- 自分の駒が現在いるマスをとして、 の条件を満たす、自分の陣地のマスまたはどちらの陣地でもないマス を選択する。
- 自分の駒を に移動する。
- で指定した長方形領域の中のマスを、全て自分の陣地にする。
マスとマスを1つの対角線とするような長方形領域の中に、相手の陣地となっているマスが存在しない。
厳密に述べると、 , を満たす全ての整数 , について、
マス は相手の陣地ではない。
Bobの 回目の手番が終了したとき、ゲームが終了します。
ゲームの終了時、自分の陣地であるマスが多い方のプレイヤーが勝利となります。そのようなマスが2人とも同数の場合、引き分けとなります。
それぞれが最善な動きをした時、Aliceが勝利することとなる、マスの初期位置を与える変数 の組の個数を求めてください。
ただし、そのような個数は非常に大きくなることがあるため、 で割った余りを求めてください。
制約
- 入力で与えられる値は全て整数
入力
入力は以下の形式で与えられます。
出力
求める変数の組の個数を で割った余りを出力してください。 最後に改行してください。
サンプル
サンプル1
入力
3 4
出力
94
例えば、 のとき、
- Aliceがマス に移動
- Bobがマス に移動
- Aliceがマス に移動
ほかのすべての例についても考えると、Aliceが勝利する変数の組は合計で 通りあります。
サンプル2
入力
2 2
出力
0
初期状態にかかわらず、引き分けになります。
サンプル3
入力
3141 5926
出力
428758522
で割った余りを出力してください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。