atcoder#ABC280E. [ABC280E] Critical Hit

[ABC280E] Critical Hit

配点 : 500500

問題文

最初、体力が NN であるモンスターが 11 体います。 高橋君はモンスターに対し、モンスターの体力が 11 以上残っている限り繰り返し攻撃を行います。

高橋君は 11 回の攻撃で、P100\frac{P}{100} の確率でモンスターの体力を 22 減らし、 1P1001-\frac{P}{100} の確率でモンスターの体力を 11 減らします。

モンスターの体力が 00 以下になるまでに行う攻撃回数の期待値を mod 998244353\text{mod } 998244353 で出力してください(注記参照)。

注記

求める期待値は必ず有限値かつ有理数となることが証明できます。また、この問題の制約下では、その値を互いに素な 22 つの整数 PP, QQ を用いて PQ\frac{P}{Q} と表したとき、R×QP(mod998244353)R \times Q \equiv P\pmod{998244353} かつ 0R<9982443530 \leq R \lt 998244353 を満たす整数 RR がただ一つ存在することが証明できます。この RR を出力してください。

制約

  • 1N2×1051 \leq N \leq 2\times 10^5
  • 0P1000 \leq P \leq 100
  • 入力は全て整数

入力

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

NN PP

出力

高橋君の攻撃回数の期待値を mod 998244353\text{mod } 998244353 で出力せよ。

3 10
229596204

高橋君は 11 回の攻撃で、 10100=110\frac{10}{100}=\frac{1}{10} の確率でモンスターの体力を 22 減らし、 110100=9101-\frac{10}{100}=\frac{9}{10} の確率でモンスターの体力を 11 減らします。

  • 最初、モンスターの体力は 33 です。
  • 11 回目の攻撃の後、910\frac{9}{10}の確率でモンスターの体力は 22110\frac{1}{10}の確率でモンスターの体力は 11 となります。
  • 22 回目の攻撃の後、81100\frac{81}{100}の確率でモンスターの体力は 1118100\frac{18}{100} の確率でモンスターの体力は 001100\frac{1}{100} の確率でモンスターの体力は 1-1 となります。 18100+1100=19100\frac{18}{100}+\frac{1}{100}=\frac{19}{100} の確率で体力は 00 以下となり、高橋君は 22 回で攻撃をやめます。
  • 22 回目の攻撃の後で体力が 11 残っている場合、33 回目の攻撃の後でモンスターの体力は必ず 00 以下となり、高橋君は 33 回で攻撃をやめます。

よって、期待値は $2\times \frac{19}{100}+3\times\left(1-\frac{19}{100}\right)=\frac{281}{100}$ となります。229596204×100281(mod998244353)229596204 \times 100 \equiv 281\pmod{998244353} であるため、229596204229596204 を出力します。

5 100
3

高橋君は 11 回の攻撃で、つねにモンスターの体力を 22 減らします。 22 回目の攻撃が終わった時点では体力が 52×2=15-2\times 2=1 残っているため、33 回目の攻撃を行う必要があります。

280 59
567484387