No.3315 FPS Game
タグ : / 解いたユーザー数 20
作問者 : 👑
kidodesu
👑 問題文
AkiさんはとあるFPS(First Person Shooter)ゲームで遊んでいます。
まず $N$ 頂点からなる木が与えられ、辺 $i$ は頂点 $U_i$ と頂点 $V_i$ を結びます。
このゲームでは辺 $i$ がゲームのステージ $i$ に対応しており、ステージ $S$ からゲームをはじめます。
Akiさんは各ステージをちょうど $1$ 分でクリアすることができ、クリア後、今いるステージの辺と一方の頂点を共有する辺に対応するステージに移動することができます。
ただし一回クリアしたステージはロックされ $1$ 回のゲーム中では二度と訪れることができなくなります。
Akiさんはステージ $T$ をクリアしたいと思っています。
$1 ≤ k ≤ N$ なる各整数 $k$ に対してステージ $T$ を合計 $k$ 分でクリアする方法の数を $998244353$ で割ったあまりを求めてください。
ただし二つのクリア方法は合計の時間が異なる、もしくは開始後のある時点においてプレイしているステージが異なるとき、その時に限り区別します。
またプレイ時間にはステージごとにクリアするまでにかかる時間のみを含みます。
入力
$N\ S\ T$
$U_1\ V_1$
$\vdots$
$U_{N-1}\ V_{N-1}$
- 入力は全て整数である。
- $3 ≤ N ≤ 10^5$
- $1 ≤ S < T ≤ N-1$
- $1 ≤ U_i < V_i ≤ N$
- 与えられるグラフは木である。
出力
$k = 1,\ 2,\ …,\ N$ に対する答えを $1$ 行に、順に半角空白区切りで出力し最後に改行してください。
サンプル
サンプル1
入力
6 1 3 1 2 2 3 3 4 2 5 3 6
出力
0 0 1 2 1 0
今回のゲームにおいてステージ $1$ から始めてステージ $3$ をクリアする方法は短い順に以下の $4$ 通りです。
- $1 → 2 → 3$
- $1 → 4 → 2 → 3$
- $1 → 2 → 5 → 3$
- $1 → 4 → 2 → 5 → 3$
サンプル2
入力
8 2 7 1 5 5 8 5 7 3 5 2 5 5 6 4 5
出力
0 1 5 20 60 120 120 0
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。