atcoder#ARC142D. [ARC142D] Deterministic Placing
[ARC142D] Deterministic Placing
配点 : 点
問題文
頂点の木があり、各頂点には と番号が付けられています。 に対し、 番目の辺は頂点 と頂点 を結びます。 この木の各頂点に高々 個の駒が置かれた状態に対する操作を次のように定めます。
- すべての駒を、同時に、隣接する頂点のうちの つへ移動させる。
また、以下の条件を満たす操作を 良い操作 と呼びます。
- すべての辺について、その辺を通して移動する駒は高々 個である。
- 操作後に各頂点に置かれている駒は高々 個である。
高橋君は 個以上の頂点を選び、駒を 個ずつ置くことにしました。 駒を置く方法は 通りありますが、そのうち次の条件を満たすものの個数を で割った余りを求めてください。
- すべての非負整数 について以下の条件を満たす。 - 良い操作を 回行うことができる。
- 良い操作を 回行った時点で駒が置かれている頂点の集合を とする。この時、 は一意に定まる。
- 良い操作を 回行うことができる。
- 良い操作を 回行った時点で駒が置かれている頂点の集合を とする。この時、 は一意に定まる。
制約
- 与えられるグラフは木である
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
3
1 2
1 3
2
次の 通りが条件を満たします。
- 頂点 と頂点 を選び、駒を置く。
- 頂点 と頂点 を選び、駒を置く。
頂点を 個以上選ぶ必要があることに気を付けてください。
7
1 2
1 3
2 4
2 5
3 6
3 7
0
条件を満たす駒の置き方が存在しない場合があります。
19
9 14
2 13
1 3
17 19
13 18
12 19
4 5
2 10
4 9
8 11
3 15
6 8
8 10
6 19
9 13
11 15
7 17
16 17
100