atcoder#AGC050D. [AGC050D] Shopping
[AGC050D] Shopping
题目描述
から までの番号が振られた 人の人と、 から までの番号が振られた 個の商品があります。 これから、ターン制のゲームが行われます。 ターンは、番号 の人、番号 の人、番号 の人、、番号 の人、番号 の人 、、番号 の人、番号 の人、、の順に回り、全ての商品が誰かに獲得されるまで続きます。
各ターンには、以下が行われます。
- 自分のターンが来た人がすでに商品を獲得済みの場合、何も行われない。
- そうでない場合、その人は、まだ自分が選んでいない商品から つを等確率でランダムに選び、審判であるすぬけ君に秘密裏に伝える。 その商品がすでに他の誰かに獲得されていたなら、何も起こらない。そうでないなら、その商品はその人が獲得する。
各 について、番号 の人がいずれかの商品を獲得する確率を で計算してください (注記参照)。
输入格式
入力は標準入力から以下の形式で与えられる。
输出格式
行出力せよ。 行目には、番号 の人がいずれかの商品を獲得する確率を で出力すること。
题目大意
有个人编号从到, 个商品编号从到。从现在开始进行回合制的游戏。从号码为的人开始,到号码为的人,再到号码为的人,号码为的人,号码为的人,号码为的人,号码为的人,,他们将不断重复这一过程,直到所有商品被获得为止。
每个回合对应的人会进行以下的操作
自己已经获得商品的情况下,什么都不进行。
如果不是,这个人就从自己还没有选择的商品中,以等概率随机选择一个,秘密地告诉身为裁判的空井君。如果那个商品已经被别人获得了,就什么都不会发生。如果不是,那个商品就由那个人获得。
对于每个,请用来计算编号为的人获得任一商品的概率(参见样例解释)。
输入格式:
一行两个整数 ,
输出格式:
行,第行一个整数,表示第个人获得商品在意义下的概率
数据范围:
3 2
1
249561089
748683265
4 3
1
314262112
767169272
915057324
40 10
1
868517173
27621563
837064957
222682471
512462123
662169358
927654899
421237429
47896491
462367772
888812171
300869511
63754652
144548024
358216674
895724239
274552277
722622637
946769993
579325471
777654313
142897955
607284898
8038340
863909530
63295741
862961672
335905745
944425523
358698956
299986928
847582651
197657467
180361665
412489246
762713624
410322243
646538576
79047758
提示
注記
- 商品をランダムに選ぶ行為は全て独立に行われます。
- ゲームが有限のターン数で終了することは証明可能です。
- 参加者が商品を選ぶ場面で、まだその人が選んでいない商品が必ず つ以上存在することも証明可能です。
- 求めるべき確率が有理数であることも証明可能です。確率を出力する際は、まずその確率を分数 として表してください。ここで、 は整数であり、 は で割り切れてはなりません (この問題の制約の下で、そのような表現は必ず可能です)。そして、 なる 以上 以下の唯一の整数 を出力してください。
制約
- 入力中の全ての値は整数である。
Sample Explanation 1
- まず、番号 の人が商品を 個選んで獲得します。ここで商品 が選ばれたとします。 - そして、 の確率で、番号 の人がもう一方の商品を選んで獲得し、ゲームが終了します。 - の確率で、番号 の人も商品 を選んでしまって獲得できず、番号 の人のターンとなります。 - の確率で、番号 の人がもう一方の商品を選んで獲得し、ゲームが終了します。 - の確率で、番号 の人も商品 を選んでしまいます。その次は番号 の人のターンですが、商品を獲得済みのため何もしません。その次は番号 の人のターンであり、商品 は前回選んだため今回は必ずもう一方の商品を選んで獲得し、ゲームが終了します。 以上より、番号 の人がいずれかの商品を獲得する確率はそれぞれ です。
Sample Explanation 2
商品獲得確率はそれぞれ $ 1,\ \frac{47}{54},\ \frac{77}{108},\ \frac{5}{12} $ です。