atcoder#AGC040F. [AGC040F] Two Pieces
[AGC040F] Two Pieces
题目描述
数直線上に,区別できない つの駒が置かれています. どちらの駒も最初,座標 にあります.(駒は同じ座標に同時に存在できます)
これらの駒に対して,以下の 種類の操作が可能です.
- 好きな駒を つ選び, 大きい座標に移動する.
- 座標の小さい駒を,座標の大きい駒の位置へと移動する. なお,もともと つの駒が同じ座標に置いてある場合は何も起きないが,その場合でも 回の操作として数える.
以上の操作を好きな順番で 回繰り返して, つの駒の一方が座標 ,他方が座標 にあるようにしたいです. このような動かし方が何通りあるかを求めてください. ただし答えは非常に大きくなることがあるので, で割ったあまりを求めてください.
なお,ある つの動かし方 が異なるとは,整数 () であって, 動かし方 で 回目の操作後に駒の置いてある座標の集合 と 動かし方 で 回目の操作後に駒の置いてある座標の集合 が異なるものが存在することを意味します.
输入格式
入力は以下の形式で標準入力から与えられる.
输出格式
条件をみたす駒の動かし方が何通りあるかを で割ったあまりを出力せよ.
题目大意
有两个棋子初始点都在坐标 ,两个棋子之间没有区别,总共要进行 次操作,每次操作是如下操作其中之一:
1.选择一个棋子向前移动一步。
2.选择位置较后的那个棋子,直接移动到位置较前的那个棋子的位置。
问 次操作后两个棋子分别在位置 的方案数,对 取模,两种方案是相同的,当且仅当两个棋子在每一步的坐标都是相同的(注意不是每一步的操作都相同)。
5 1 3
4
10 0 0
1
10 4 6
197
1000000 100000 200000
758840509
提示
制約
- 入力される値はすべて整数である.
Sample Explanation 1
以下の 通りの動かし方があります. なお, で,駒の座標がそれぞれ にある状態を表しています. - - - -