CF512D Fox And Travelling

题目描述

Fox Ciel 计划在今年夏天前往 New Foxland 旅游。 New Foxland 有 $n$ 个景点,这些景点通过 $m$ 条无向道路相连。若两个景点通过一条道路连接,则称它们是相邻的。Fox Ciel 有 $k$ 天时间参观这座城市,并且她每天将参观且仅参观一个景点。 在 New Foxland 有一个重要的规则:如果某个景点有超过一个尚未参观的相邻景点,则不能参观该景点。 一开始,Fox Ciel 还没有参观任何景点。在旅行过程中,她可以在景点之间任意移动。参观完景点 $a$ 后,她可以前往任意一个尚未参观且满足上述条件的景点 $b$,即使 $a$ 和 $b$ 并不通过道路直接连接(Ciel 可以乘船在景点之间旅行,因此这是可能的)。 她想知道她可以安排的不同旅行计划的数量。请你计算对于 $k$ 从 $0$ 到 $n$ 的所有情况,每种情况下可能的旅行计划数量是多少。答案需对 $10^{9}+9$ 取模。

输入格式

第一行包含两个整数 $n$,$m$($1 \leq n \leq 100$,$0 \leq m \leq \frac{n(n-1)}{2}$),表示景点数和道路数。 接下来的 $m$ 行,每行包含两个整数 $a_i$ 和 $b_i$($1 \leq a_i, b_i \leq n$ 且 $a_i \neq b_i$),表示一条道路连接的两个不同景点。任意一对景点之间不超过一条道路。

输出格式

输出 $n+1$ 个整数,分别表示对于 $k=0,1,...,n$,可能的旅行计划数对 $10^9+9$ 取模后的结果。

说明/提示

在第一个样例测试中,当 $k=3$ 时,有 4 种旅行计划:$\{1,2,3\}$、$\{1,3,2\}$、$\{3,1,2\}$、$\{3,2,1\}$。 在第二个样例测试中,Ciel 第一天就无法参观任何景点,所以当 $k > 0$ 时答案都是 $0$。 在第三个样例测试中,Foxland 的地图如下: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF512D/addf9e605d9b5e373ca5aa72327b83279751f9e5.png) 由 ChatGPT 5 翻译