atcoder#AGC050D. [AGC050D] Shopping

[AGC050D] Shopping

配点 : 13001300

問題文

11 から NN までの番号が振られた NN 人の人と、11 から KK までの番号が振られた KK 個の商品があります。 これから、ターン制のゲームが行われます。 ターンは、番号 11 の人、番号 22 の人、番号 33 の人、\ldots、番号 NN の人、番号 11 の人 、\ldots、番号 NN の人、番号 11 の人、\ldots、の順に回り、全ての商品が誰かに獲得されるまで続きます。

各ターンには、以下が行われます。

  • 自分のターンが来た人がすでに商品を獲得済みの場合、何も行われない。
  • そうでない場合、その人は、まだ自分が選んでいない商品から 11 つを等確率でランダムに選び、審判であるすぬけ君に秘密裏に伝える。 その商品がすでに他の誰かに獲得されていたなら、何も起こらない。そうでないなら、その商品はその人が獲得する。

ii について、番号 ii の人がいずれかの商品を獲得する確率を mod998,244,353\bmod 998,244,353 で計算してください (注記参照)。

注記

  • 商品をランダムに選ぶ行為は全て独立に行われます。
  • ゲームが有限のターン数で終了することは証明可能です。
  • 参加者が商品を選ぶ場面で、まだその人が選んでいない商品が必ず 11 つ以上存在することも証明可能です。
  • 求めるべき確率が有理数であることも証明可能です。確率を出力する際は、まずその確率を分数 yx\frac{y}{x} として表してください。ここで、x,yx, y は整数であり、xxP=998,244,353P = 998,244,353 で割り切れてはなりません (この問題の制約の下で、そのような表現は必ず可能です)。そして、xzy(modP)xz \equiv y \pmod{P} なる 00 以上 P1P - 1 以下の唯一の整数 zz を出力してください。

制約

  • 1KN401 \leq K \leq N \leq 40
  • 入力中の全ての値は整数である。

入力

入力は標準入力から以下の形式で与えられる。

NN KK

出力

NN 行出力せよ。 ii 行目には、番号 ii の人がいずれかの商品を獲得する確率を mod998,244,353\bmod 998,244,353 で出力すること。

3 2
1
249561089
748683265
  • まず、番号 11 の人が商品を 11 個選んで獲得します。ここで商品 pp が選ばれたとします。- そして、1/21/2 の確率で、番号 22 の人がもう一方の商品を選んで獲得し、ゲームが終了します。
    • 1/21/2 の確率で、番号 22 の人も商品 pp を選んでしまって獲得できず、番号 33 の人のターンとなります。- 1/41/4 の確率で、番号 33 の人がもう一方の商品を選んで獲得し、ゲームが終了します。
    • 1/41/4 の確率で、番号 33 の人も商品 pp を選んでしまいます。その次は番号 11 の人のターンですが、商品を獲得済みのため何もしません。その次は番号 22 の人のターンであり、商品 pp は前回選んだため今回は必ずもう一方の商品を選んで獲得し、ゲームが終了します。
  • そして、1/21/2 の確率で、番号 22 の人がもう一方の商品を選んで獲得し、ゲームが終了します。
  • 1/21/2 の確率で、番号 22 の人も商品 pp を選んでしまって獲得できず、番号 33 の人のターンとなります。
  • 1/41/4 の確率で、番号 33 の人がもう一方の商品を選んで獲得し、ゲームが終了します。
  • 1/41/4 の確率で、番号 33 の人も商品 pp を選んでしまいます。その次は番号 11 の人のターンですが、商品を獲得済みのため何もしません。その次は番号 22 の人のターンであり、商品 pp は前回選んだため今回は必ずもう一方の商品を選んで獲得し、ゲームが終了します。

以上より、番号 1,2,31, 2, 3 の人がいずれかの商品を獲得する確率はそれぞれ 1,34,141, \frac{3}{4}, \frac{1}{4} です。

4 3
1
314262112
767169272
915057324

商品獲得確率はそれぞれ 1,4754,77108,5121, \frac{47}{54}, \frac{77}{108}, \frac{5}{12} です。

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