题目描述
有一张城市地图,图中的顶点为城市,无向边代表两个城市间的连通关系,边上的权为在这两个城市之间修建高速公路的造价,研究后发现,这个地图有一个特点,即任一对城市都是连通的。现在的问题是,要修建若干高速公路把所有城市联系起来,问如何设计可使得工程的总造价最少?
输入格式
n(城市数,1≤n≤100)
e(边数)
以下e行,每行3个数 i , j , w[i][j],表示在城市 (i,j) 之间修建高速公路的造价。
输出格式
n-1行,每行为两个城市的序号(a,b)(a<=b),表明这两个城市间建一条高速公路。
输出顺序如下:
输出每条边时按照 a < b 的格式输出,优先按照a从小到大排列,若a相等,则按照b从小到大排列
样例
样例输入
5 8
1 2 2
2 5 9
5 4 7
4 1 10
1 3 12
4 3 6
5 3 3
2 3 8
样例输出
1 2
2 3
3 4
3 5
数据范围与提示
1≤n≤100
w[i][j]≤50
这是一道最小生成树的板子题,根据 n,可得 m ≤ 4950,

该博客讨论了如何利用C++解决城市公交网建设问题,即寻找最小造价的高速公路连接所有城市。这是一个典型的最小生成树问题,可以采用Kruscal算法在O(mlogm)的时间复杂度内求解。博客提供了输入输出格式、样例以及数据范围,并提示了AC代码的思路,强调了答案排序的重要性。
最低0.47元/天 解锁文章
244

被折叠的 条评论
为什么被折叠?



