#864. 🕵️♂️ C3《分裂犯罪集团》�
🕵️♂️ C3《分裂犯罪集团》�
🕵️♂️ C3《分裂犯罪集团》🚨
在 兔猫信奥学院 的城市安全课上,加菲老师给出了一张“犯罪团伙联络网”。
某地区共有 个犯罪团伙(),警方按危险程度从高到低编号为 。 团伙之间存在一些直接联系,并且保证:
任意两个团伙之间都能通过直接或间接联系互相到达 (也就是说最开始所有团伙构成一个整体的巨大犯罪集团)
警方希望用尽量少的时间打击,使犯罪集团被拆分成若干个更小的集团,并且:
拆分后,所有集团中最大的那个规模不超过 (集团“危险程度”仅由集团内团伙数量决定)
为了达到最好的效果,警方将按顺序打击掉编号从 到 的团伙(即移除这些点及其相关联系)。
请你求出满足要求的 最小 。
📌 任务说明(不改变题意)
- 初始: 全在网内,且整张图连通
- 采取行动:移除 号团伙
- 剩余团伙会形成若干连通块(多个小集团)
- 目标:这些连通块中,最大块大小
- 输出:满足目标的最小
🖼️ 样例联络网示意(由样例数据绘制)
样例输入中 ,按每行给出的“直接联系”可以读出边(无向):
- 1 连 2、5
- 2 连 1、3、4
- 3 连 2、4
- 4 连 2、3
- 5 连 1、6、7
- 6 连 5、7
- 7 连 5、6
可以画成如下结构(仅用于理解):
3
|
1 -- 2 -- 4
|
5
|\
6-7
若打击掉团伙 1(即 k=1),剩余团伙分成两块:
- {2,3,4} 大小为 3
- {5,6,7} 大小为 3
此时最大集团大小为 3,而 n/2 = 3.5,满足 “不超过 n/2”,所以答案为 1。
输入格式
第一行一个正整数 。
接下来 行: 每行第一个整数为 ,表示该行后面还有 个整数。 若第 行出现某个整数 ,表示团伙 与团伙 之间存在直接联系。
(输入保证关系正确,整体连通)
输出格式
输出一个正整数:满足要求的最小 。
7
2 2 5
3 1 3 4
2 2 4
2 2 3
3 1 6 7
2 5 7
2 5 6
1
