蓝桥杯1941: 蓝桥杯算法提高VIP-Building Bridges题解 (建造一个连接系统来连接所有市中心的建筑)

爱的那么颓废 算法基础篇 34 0
挑战自我,勇攀编程高峰!全网最全C++题库,助您成为编程达人。
新奥德卫莱城市委员会计划建造一个连接系统来连接所有市中心的建筑,这样人们从一个建筑去另一个建筑时就不用走到外面了,你要写一个程序来帮忙确定建造方案,左上是城市1 ,中上是建路后的城市1 ,右上是不能建路的城市2,左下是不需要建路的城市3,中下是城市4,右下是建路后的城市4。

新奥德卫莱城市委员会计划建造一个连接系统来连接所有市中心的建筑,这样人们从一个建筑去另一个建筑时就不用走到外面了。你要写一个程序来帮忙确定建造方案。 新奥德卫莱市是正方形网状布局,每个建筑物占着一些连通的格子,两个有建筑物的格子如果有角接触就算相连,不需要连接道路。道路只能在正方形的边上建造,并且只能是直线且连接两个建筑。 给你一个建筑示意图,你要算出连接所有建筑的最小道路数。如果这是不可能的,找出最少的无法连接的建筑群数。在可连接所有建筑物的情况下,如果多种方案道路数都是最小的,选择在网格中道路总长度最小的方案。道路可以互相穿过,但在这种情况下道路被判定互不相干,之间无法连接。 下图说明了4种可能的城市配置。城市1包含5个建筑,被4条道路连接起来,总长度为4。城市2中,因没有建筑共享网格线所以无法建立道路。在城市3中,因为只有1个建筑所以我们不需要道路。在城市4中,最好方案是用1条长度为1的道路连接两个城市,剩下两个不连通的建筑群(一个是两个建筑,一个是一个建筑)。 左上是城市1 ,中上是建路后的城市1 ,右上是不能建路的城市2,左下是不需要建路的城市3,中下是城市4,右下是建路后的城市4。

蓝桥杯1941: 蓝桥杯算法提高VIP-Building Bridges题解
(建造一个连接系统来连接所有市中心的建筑)-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
不断挑战自我,才能突破极限!全网最全C++题库,让您在编程道路上越走越远。

标签: 蓝桥杯1941: 蓝桥杯算法提高VIP-Building Bridges题解