QOJ.ac

QOJ

実行時間制限: 5 s メモリ制限: 256 MB 満点: 100

#8868. 系统发生学

統計

一位年轻的生物学家正在研究进化史,并接触到了系统发育树。系统发育树展示了各种生物物种之间的进化关系。为了获得更好的视觉呈现,它以平面嵌入的方式展示,其叶子节点按圆形排列。我们处理的是一棵无根树,其中叶子是度数为 1 的节点。树的所有节点都被着色,这使得区分不同的物种变得更容易。

我们的生物学家正在使用图形可视化软件,该软件需要一些帮助来生成所需的布局。因此,她决定在平面嵌入中相邻的叶子之间添加边。这棵树至少有 3 个叶子,她将这些叶子连接成一个环。下图展示了这样一个(未着色的)树的示例,其中相邻叶子之间的额外边用虚线表示。

现在可视化已经完成,她对用 $K$ 种颜色为该图的节点着色的方法数量感兴趣。为了便于视觉识别,每一对相邻节点都应该有不同的颜色。请编写一个程序,读取她图结构的描述并计算着色方案的数量。

输入格式

第一行包含整数 $N$、$M$ 和 $K$。图的边在接下来的 $M$ 行中给出,每行一对端点 $A_i$ 和 $B_i$(图的节点编号从 1 到 $N$)。同一行中的所有整数均由空格分隔。

保证该图是通过树(无环连通无向图)的平面嵌入,并将叶子节点按圆形连接而获得的。该图不包含自环或重边(即同一对节点之间不会有多条边)。

数据范围

  • $4 \le N \le 10^5$
  • $1 \le K \le 10^5$

输出格式

输出着色方案的数量,结果对 $1\,000\,000\,007$ 取模。

样例

输入 1

8 12 3
2 5
3 6
2 6
5 4
4 1
1 6
7 5
2 7
3 4
2 8
7 8
1 8

输出 1

24

说明

该示例对应于任务中说明的图。

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.