#hub. 2026提高组模拟赛08-T4 程老师的枢纽站
2026提高组模拟赛08-T4 程老师的枢纽站
时间限制:1500ms 内存限制:512MB
题目描述
程老师所在的地区有一张公路交通网,一共 个城市和 条双向道路,每条道路直接连接两个不同的城市。路网是几十年间陆陆续续修建的,早期各片区各修各的,所以整个交通网并不保证连通——有些城市群之间可能本来就没有路,从一个片区想到另一个片区,开车根本到不了。
上个月市里接连出了两起道路结冰封路的事故,市政厅决定做一次彻底的应急预案评估:每个城市都要回答一个问题——如果这个城市"瘫痪"了,通行会受多大影响?所谓瘫痪,指该城市封闭施工,它本身连同与它相连的所有道路全部从路网中移除,车辆既进不了它,也出不了它,更没法把它当中转站。
评估指标叫"断裂值"。对城市 ,它的断裂值这样计算:把所有城市对 (,且 都不是 )挨个检查一遍,数一数有多少对满足——移除前 沿着道路(允许中转)可以到达 ,移除后 再也无法到达 。这里"允许中转"的意思是,从 出发只要顺着道路一条接一条能走到 ,不管中间换多少条、经过多少城市,都算"可以到达";反过来,哪怕两地之间没有直达路,只要绕行能到,也算能到。还有两条要特别注意:第一,统计的是"因为 瘫痪才断掉"的城市对,那些原本就互不相通的对(比如分属两个从来不通的片区)一个都不算;第二, 自己不在统计范围内,它和谁通不通都不计入。
举个例子:假如路网里有 A、B 两个互不相通的片区,A 片区内部全靠一个交通枢纽 串着, 一瘫痪,A 片区就会散成好几块,块与块之间原本连通的城市对全部断掉,这些都计入 的断裂值;而 A 与 B 之间的城市对反正本来就不通,跟 瘫不瘫痪没有关系,一对也不算。反过来,如果某个城市一搬走,剩下的城市两两之间照样都能绕路到达,那它的断裂值就是 ——这样的城市在评估表上就是"无关痛痒"的那一类。
程老师被请来算总账:每个城市的断裂值分别是多少,按城市编号从 到 的顺序报告。城市多、道路密,光城市对就有几十亿对,靠市政厅的手工表格是算不过来的。
其实评估会已经开了三天。第一天,科员们试着用笨办法:每假想瘫痪一个城市,就拿一张大地图,把这个城市和连着它的线全部涂掉,再一对一对地检查剩下的城市还通不通。结果一个城市还没查完,天就黑了。第二天有人提议只评估"看着重要"的大城市,被当场否了:有些小城市平时不显山不露水,真瘫痪了才知道它是咽喉要道,一个都不能漏。第三天,这个活儿就落到了程老师头上。程老师接过厚厚一摞路网资料,心里清楚:这活儿光快还不行——哪个城市的断裂值算错一位,应急预案就可能把人力物力投错地方。他泡了杯浓茶,把地图在墙上钉好,准备打个硬仗。
输入格式
第一行两个整数 ,表示城市数和道路数。
接下来 行,每行两个整数 ,表示一条连接城市 和 的双向道路。
输出格式
一行 个整数,用空格隔开,第 个整数表示城市 的断裂值。
数据范围
| 测试点编号 | 特殊性质 | ||
|---|---|---|---|
| 1 ~ 2 | 无 | ||
| 3 ~ 6 | |||
| 7 ~ 8 | |||
| 9 ~ 10 | A | ||
| 11 ~ 12 | B | ||
| 13 ~ 16 | 无 | ||
| 17 ~ 20 |
- 特殊性质 A:交通网是一棵树(连通且 )。
- 特殊性质 B:交通网是一条链(每个城市至多连接两条道路,且整体连通)。
- 对于全部数据,,,,,无重边。
样例
样例 1
输入:
5 4
1 2
2 3
3 4
4 5
输出:
0 3 4 3 0
解释:五个城市排成一条链。
- 移除 :剩下 和 两堆,原本连通的 、、 断开了,断裂值 。
- 移除 :剩下 和 ,断开 、、、,断裂值 。
- 移除 或 :剩下的四个城市仍连成一条链,没有任何城市对因此断开,断裂值 。
- 移除 与移除 对称,断裂值 。
样例 2
输入:
4 4
1 2
2 3
3 4
4 1
输出:
0 0 0 0
解释:四个城市构成一个环。任意移除一个城市,剩下三个仍然连通(环断一处成链),没有任何城市对因此断开。
样例 3
输入:
5 3
1 2
2 3
4 5
输出:
0 1 0 0 0
解释:交通网本来就不连通: 和 两块互不相通。移除 后, 和 之间断开了——这是唯一一对"因此才断掉"的城市对。注意 、 这类跨块城市对原本就不连通,不算在内。
- ID
- 666
- 类型
- 传统题
- Time Limit
- 1500ms
- Memory Limit
- 512MiB
- 上传者
相关
在下列比赛中: