#36. 「NOI 2023 统一省选」城市建造
「NOI 2023 统一省选」城市建造
题目描述
在这个国度里面有 座城市,一开始城市之间修有若干条双向道路,导致这些城市形成了 个连通块,特别的,这些连通块之间两两大小差的绝对值不超过 。为了方便城市建设与发展, 座城市中的某 座城市在这 座城市之间额外修建了至少一条双向道路,使得所有城市连通。
现在已经知道额外修建后的所有道路,你需要算出有哪些双向道路集合 ,满足这些道路有可能是后来额外修建的,请输出答案对 取模的结果。
即给定一张 个点 条边的无向连通图 ,询问有多少该图的子图 ,满足 且 中恰好有 个连通块,且任意两个连通块大小之差不超过 ,保证 ,请输出答案对 取模的结果。
输入格式
输入的第一行包含三个正整数 ,分别表示城市数、修建后的道路数以及任意两个连通块大小之差的上限。
接下来 行每行包含两个正整数 ,表示城市 和 之间存在一条双向道路,保证 。
输出格式
输出一个数表示答案对 取模后的结果。
样例 #1
样例输入 #1
4 4 1
1 2
2 3
1 3
3 4
样例输出 #1
2
样例 #2
样例输入 #2
见附件中的 cities/cities2.in
样例输出 #2
见附件中的 cities/cities2.ans
样例 #3
样例输入 #3
见附件中的 cities/cities3.in
样例输出 #3
见附件中的 cities/cities3.ans
样例 #4
样例输入 #4
见附件中的 cities/cities4.in
样例输出 #4
见附件中的 cities/cities4.ans
提示
【样例 1 解释】
有以下两种情况:
- 本来只有 这一条道路,此时有三个连通块,分别为 ;后来城市 决定在它们三座城市中额外修建了 这三条道路,使得所有城市连通。
- 本来没有任何道路,此时有四个连通块,分别为 ;后来城市 决定在它们四座城市中额外修建了 这四条道路,使得所有城市连通。
【数据范围】
对于所有的数据,保证:,,。
测试点 | |||
---|---|---|---|
1, 2 | |||
3 ~ 5 | |||
6, 7 | |||
8, 9 | |||
10, 11 | |||
12, 13 | |||
14, 15 | |||
16, 17 | |||
18 ~ 20 |