道路结组
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
道路结组
一座园区有 个路口,起初没有道路.接下来将依次修建 条双向道路,每条道路连接两个不同的路口.
园区准备安排若干条巡检路线.每条路线恰好经过两条不同的道路,而且这两条道路必须在某个路口相接.例如,若已有连接 的道路和连接 的道路,就可以安排一条 的巡检路线.
同一条道路不能被两条巡检路线使用,但不同路线可以经过相同的路口.不要求使用全部道路.
每修好一条道路,请求出:使用当前已有的道路,最多能同时安排多少条巡检路线?
每次只计算最多能安排的路线数量,不会占用或删除道路.计算下一次答案时,可以重新安排全部路线,不必保留之前的方案.
输入格式
第一行输入两个整数 ,分别表示路口数和修建道路的次数.路口编号为 到 .
接下来 行,每行两个整数 ,表示第 次修建连接这两个路口的道路.
输出格式
输出 行,第 行为修好前 条道路后,最多能同时安排的巡检路线数量.
样例 1
4 4
1 2
2 3
3 1
3 4
0
1
1
2
只修好第一条道路时,无法安排包含两条道路的路线,答案为 .
修好第二条道路后,可以安排路线 ,答案为 .修好第三条道路后,一共只有三条道路,仍然最多安排一条路线.
修好第四条道路后,可以同时安排以下两条路线:
- ,使用第 条道路.
- ,使用第 条道路.
两条路线虽然都经过路口 和 ,但没有使用同一条道路,因此合法,答案为 .
更多样例
Data/sample1.in与Data/sample1.ans:上面的题面样例.Data/sample2.in与Data/sample2.ans:,满足子任务 1.Data/sample3.in与Data/sample3.ans:,满足子任务 2.Data/sample4.in与Data/sample4.ans:,满足子任务 3.Data/sample5.in与Data/sample5.ans:,该样例无特殊限制.Data/sample6.in与Data/sample6.ans:,满足子任务 1.Data/sample7.in与Data/sample7.ans:,满足子任务 3.Data/sample8.in与Data/sample8.ans:,该样例无特殊限制.
下发样例供本地测试使用,通过全部下发样例不代表解法正确,也不保证获得某个子任务的分数.
数据范围与子任务
对于所有测试数据,,, 且 .整张图是简单图,即没有两次加入端点相同的道路,端点的先后顺序不影响道路是否相同.图可以不连通,也可以包含没有连接任何道路的路口.
各子任务独立计分,只有通过该子任务的全部测试点才能获得对应分数.
| 子任务 | 分值 | 特殊性质 |
|---|---|---|
| 1 | 12 | |
| 2 | 18 | |
| 3 | 20 | 最终得到的图是一片森林,即不含环的无向图 |
| 4 | 50 | 无特殊性质 |