QOJ.ac

QOJ

時間限制: 2 s 記憶體限制: 1024 MB 總分: 24

#5781. 彩虹树

统计

在图论中,树是一个连通、无环的无向简单图。一个有 $n$ 个节点的树总是有 $n-1$ 条边。

树中的路径是一系列相连的不同边(路径中每相邻的两条边共享一个顶点)。

考虑一个有 $n$ 个顶点和 $n-1$ 条边的树。你可以用 $k$ 种颜色中的一种为每条边着色。

如果对于树中每一条长度为 2 或 3 的路径,其包含的边的颜色各不相同,则称这种边的着色方案为“彩虹着色”(即:任意两条相邻的边颜色不同,且任意三条连续的边颜色也各不相同)。

给定一棵树和颜色数量 $k$,求彩虹着色的方案数,结果对 $1000000009$ 取模。

输入格式

输入的第一行包含测试用例的数量 $C$。接下来对于每个测试用例:

  • 第一行包含两个整数,格式为 "$n \ k$"。$n$ 是树的节点数,$k$ 是可用的颜色数量。
  • 接下来 $n-1$ 行,每行包含两个整数 "$x \ y$",表示节点 $x$ 和节点 $y$ 之间有一条边。节点编号从 1 到 $n$。

输出格式

对于每个测试用例,输出一行。该行应包含 "Case #$X$: $Y$",其中 $X$ 是从 1 开始的用例编号,$Y$ 是该测试用例的答案。

数据范围

$1 \le k \le 1000000000$

所有节点编号均在 1 到 $n$ 之间(含边界)。

小数据集(测试集 1 - 可见;9 分)

$1 \le C \le 100$

$2 \le n \le 20$

大数据集(测试集 2 - 隐藏;15 分)

$1 \le C \le 40$

$2 \le n \le 500$

样例

样例输入 1

2
4 10
1 2
1 3
1 4
5 3
1 2
2 3
3 4
4 5

样例输出 1

Case #1: 720
Case #2: 6

说明

在第一个用例中,树有四个节点。其中一个节点与其余三个节点各有一条边相连。这些边两两相邻,因此要满足彩虹着色,所有边必须颜色各不相同。因此共有 $10 \times 9 \times 8 = 720$ 种彩虹着色方案。

在第二个用例中,树本身是一条包含 4 条边的路径,且有 3 种颜色。前三条边必须颜色各不相同,因此这三条边有 $3 \times 2 \times 1$ 种着色方案,而第四条边只有一种选择,因此共有 6 种彩虹着色方案。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.