atcoder#AGC021E. [AGC021E] Ball Eat Chameleons

[AGC021E] Ball Eat Chameleons

配点 : 12001200

問題文

AtCoder 共和国では、カメレオン科ボールタベルカメレオン属に属するスヌケカメレオンがペットとして大人気です。 りんごさんは、NN 匹のスヌケカメレオンの個体をひとつのカゴに入れて飼っています。

何も食べていない状態のスヌケカメレオンは青色です。スヌケカメレオンは、次の規則で変色します。

  • 青いスヌケカメレオンは、これまでに食べた青いボールの個数よりこれまでに食べた赤いボールの個数の方が真に大きくなった時、赤色に変色する。
  • 赤いスヌケカメレオンは、これまでに食べた赤いボールの個数よりこれまでに食べた青いボールの個数の方が真に大きくなった時、青色に変色する。

最初、スヌケカメレオンたちはどの個体も何も食べていない状態です。りんごさんは、スヌケカメレオンたちに、以下の手順を KK 回繰り返すことで餌をやりました。

  • 赤いボールまたは青いボールを握る。
  • 握ったボールを、スヌケカメレオンたちの入ったカゴの中に投げ入れる。このとき、いずれか一匹がそのボールを食べる。

りんごさんが KK 個のボールを投げ入れたところ、全ての個体が赤色になっていました。りんごさんの KK 個のボールの投げ入れ方としてありうるものは何通りあるでしょうか。 998244353998244353 で割った余りを求めてください。ただし、22 つの投げ入れ方が異なるとは、ある ii が存在し、ii 個目に投げ入れたボールの色が異なることを指します。

制約

  • 1N,K5×1051 \leq N,K \leq 5 \times 10^5
  • N,KN,K は整数である

入力

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

NN KK

出力

KK 個のボールの投げ入れ方としてありうるものの個数を 998244353998244353 で割った余りを出力せよ。

2 4
7

ii 個目に投げ入れるボールが赤のとき R を、青のとき B を順に並べた文字列を用いて投げ入れ方を表せば、 BRRR,RBRB,RBRR,RRBB,RRBR,RRRB,RRRR77 個が条件を満たします。

3 7
57
8 3
0
8 10
46
123456 234567
857617983