#wall. 2026提高组模拟赛09-T2 程老师的拆墙计划
2026提高组模拟赛09-T2 程老师的拆墙计划
时间限制:1000ms 内存限制:512MB
题目描述
程老师所在的老城区要改造,一片老楼里有 个房间,房间之间有 条通道相连,每条通道直接连通两个不同的房间。从任何一个房间出发,总可以沿着通道走到和它同一片区域的其他房间——当然,这片老楼是几十年间东拼西凑盖起来的,年久失修,并不是所有房间之间都能互相走到,有些房间群之间早就断了联系,说不定哪个角落里就窝着一个被遗忘的小单间。
按照改造计划,施工队每天拆除一条通道(通道太破,先拆再重建)。拆除顺序早就定好了,一共拆 天,第 天拆除第 条通道,每条通道在拆除顺序里只出现一次。通道一旦拆掉,当天就不复存在——房间之间能不能走到,只看还活着的通道。拆完这 条之后,施工队才会进场重建,所以整个拆除期内,通道只会越来越少,不会多回来。
管理处要求每天出一份日报:当天拆除完成后,整片老楼里还剩多少个互不连通的区域?两个房间属于同一区域,当且仅当沿着现存的通道能互相到达;一个孤零零、没有任何通道相连的房间,自己也算一个区域。这份日报直接送到改造指挥部:区域数哪天突然涨了,说明拆到关键通道了,指挥部要据此调整第二天的施工安排。
程老师接了出日报的活儿。照理说这事儿不难:每天拆完重新数一遍就是了。可当他看到数据规模——房间几十万个、通道几十万条、要拆几十万天——他意识到,"每天重新数一遍"这个办法,日报得写到明年去。
输入格式
第一行三个整数 ,表示房间数、通道数和拆除天数。
接下来 行,每行两个整数 ,表示一条连接房间 和 的通道,通道按输入顺序编号 。
接下来 行,每行一个整数 ,表示第 天拆除的通道编号。
输出格式
行,每行一个整数。第 行表示第 天拆除完成后的连通区域数。
数据范围
| 测试点编号 | 特殊性质 | |||
|---|---|---|---|---|
| 1 ~ 2 | 无 | |||
| 3 ~ 6 | ||||
| 7 ~ 8 | ||||
| 9 ~ 10 | A | |||
| 11 ~ 12 | B | |||
| 13 ~ 16 | 无 | |||
| 17 ~ 20 | ||||
- 特殊性质 A:(所有通道最终都会被拆掉)。
- 特殊性质 B:初始时整片老楼是连通的(所有房间属于同一个区域)。
- 对于全部数据,,,,,,无重边,拆除顺序中每条通道至多出现一次。
样例
样例 1
输入:
4 4 2
1 2
2 3
3 1
1 4
3
4
输出:
1
2
解释:通道编号 到 依次是 、、、。第 天拆 号(): 和 之间还能走 绕到,四个房间仍是一个区域。第 天拆 号():房间 彻底孤立,变成 个区域。
样例 2
输入:
3 2 2
1 2
2 3
1
2
输出:
2
3
解释:第 天拆 号(): 还连着, 孤立,共 个区域。第 天拆 号():三个房间全孤立,共 个区域。
样例 3
输入:
3 3 3
1 2
2 3
3 1
1
2
3
输出:
1
2
3
解释:三角形结构。第 天拆 : 还能绕, 个区域。第 天拆 :只剩 , 个区域。第 天拆 :全孤立, 个区域。注意第 天拆的那条当时不是"命脉",第 天拆的才是——同一座楼里,哪条通道是关键,会随着拆除进程变化。
- ID
- 668
- 类型
- 传统题
- Time Limit
- 1000ms
- Memory Limit
- 512MiB
- 上传者
相关
在下列比赛中: