問題一覧 > 通常問題

No.3315 FPS Game

レベル : / 実行時間制限 : 1ケース 3.250秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 20
作問者 : 👑 ArcAki / テスター : Blue_S kidodesu 👑 p-adic
ProblemId : 11915 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-10-24 15:38:14
コンテストの他の問題:

問題文

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$
よって各 $k$ について答えはそれぞれ $0,\ 0,\ 1,\ 2,\ 1,\ 0$ となります。$998244353$ で割ったあまりをとることを忘れないでください。

サンプル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もしくは右上の雲マークをクリックしてアカウントを作成してください。