游戏(game)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
【题目描述】
小 遇到了传说中的智者,为了检验小 的能力,智者将让小 玩一个游戏。
智者将给出一个 个点 条边的简单连通无向图 ,初始时图 中将恰有一个节点为红色,其余节点均为蓝色。小 将按照如下方式进行若干轮操作,直到图 中的所有节点均被染成红色,即完成了智者的游戏:
- 小 选择一个大小为 或 的节点集合 ,满足 中的点均为蓝色,且对于每一个 中的每一个节点 ,在图 中至少有一个红色节点与 相邻。
- 小 将 中的节点染成红色。
现在智者还没有告诉他图 中究竟哪一个节点是红色的,所以小 想要知道,对于图 中的每一个节点 ,如果令 表示若初始时图 中红色的节点为 ,小 最少需要多少轮操作才能完成智者的游戏,那么 的值是多少呢?精通程序设计的你能帮助他完成这个问题的求解吗?
【输入格式】
从文件 game.in 中读入数据。
输入的第一行包含两个非负整数 ,分别表示测试点编号与测试数据组数。特别的,样例的 表示该样例与编号为 的测试点的约束条件相同。
接下来依次输入每组测试数据,对于每组测试数据:
- 第一行包含两个正整数 ,表示智者给出的图 的点数与边数;
- 接下来 行,第 行包含两个正整数 ,表示图 有一条连接 的无向边。
【输出格式】
输出到文件 game.out 中。
对于每组数据,输出一行一个整数,表示每组数据中 的值。
【样例输入1】
1 1
5 7
5 4
4 1
1 3
3 2
3 4
3 5
4 2
【样例输出1】
2
【样例解释1】
对于给定的图 ,可以证明初始时图 中红色的节点为任意节点,最少需要操作的轮数均为 ,因此 。
【样例输入/输出2】
见选手目录下的 game2.in/ans,该样例满足测试点 的限制。
【样例输入/输出3】
见选手目录下的 game3.in/ans,该样例满足测试点 的限制。
【样例输入/输出4】
见选手目录下的 game4.in/ans,该样例满足测试点 的限制。
【样例输入/输出5】
见选手目录下的 game5.in/ans,该样例满足测试点 的限制。
【样例输入/输出6】
见选手目录下的 game6.in/ans,该样例满足测试点 的限制。
【样例输入/输出7】
见选手目录下的 game7.in/ans,该样例满足测试点 的限制。
【数据范围】
对于所有测试数据,保证:
- ;
- ;
- 对于所有 ,满足 ;
- 保证输入的图 为简单连通无向图。
每个测试点的具体限制如下表:
| 测试点编号 | 特殊性质 | ||
|---|---|---|---|
| 无 | |||
| A | |||
| B | |||
| C | |||
| 无 |
特殊性质 A:。
特殊性质 B:。
特殊性质 C:保证对于所有 , 为 的一条边。