atcoder#AGC022F. [AGC022F] Checkers
[AGC022F] Checkers
配点 : 点
問題文
とします。イナバは 個の駒を数直線上に置いていて、 個目の駒は座標 にあります。
秒ごとに、イナバは 個の駒 、 を選び、 を に関して対称な点に動かし、その後 を取り除きます(、 が同じ位置にあっても構わず、 が移動後に他の駒と同じ位置にあっても構いません)。
秒後には、駒が 個だけ残ります。その駒の位置としてありうるものは何通りあるか、その数を で割った余りを求めてください。
制約
- は整数である。
入力
入力は標準入力から以下の形式で与えられる。
出力
最後に残る駒の位置としてありうるものの数を で割った余りを出力せよ。
3
12
駒が 個あり、それぞれ座標 に置かれています。これらをそれぞれ 、、 と呼びます。
考えられる駒の動かし方( 通り)のうち つを示します。
- 最初の 秒で に を飛び越えさせ、次の 秒で に を飛び越えさせる。 の最終的な位置は となる。
- 最初の 秒で に を飛び越えさせ、次の 秒で に を飛び越えさせる。 の最終的な位置は となる。
駒の動かし方は合計で 通りあり、そのすべてで最後の駒は異なる位置に残ります。
4
84
22
487772376
答えを で割った余りを出力することを忘れずに。