POJ 2485 Highways (最小生成树prim)
2015-09-17 16:58
501 查看
题目大意: 有一个岛国,没有高速公路,交通非常困难。政府意识到了这一问题,他们计划建造一些高速公路,这样可以使任何一对城镇都不离开公路系统。所有公路都是沿直线建造并且是双向的。政府想降低花费,所以想找到一种建造方案,能连接所有的城镇,并且公路的总长度最小。注意题目求的是最小生成树最长的那条边。
#include <cstdio> #include <cstring> #include <algorithm> #define N 600 #define INF 0x3f3f3f3f int dist ; int lostcow , used ; int prim(int n) { int i, j, k, sum = 0, min; memset(used, 0, sizeof(used)); for(i = 1; i <= n; i++) lostcow[i] = dist[1][i]; used[1] = 1; for(i = 1; i <= n - 1; i++) { k = 1; min = INF; for(j = 1; j <= n; j++) if(!used[j] && lostcow[j] < min) { min = lostcow[j]; k = j; } if(sum < min)/* 求相加之和 */ sum = min; used[k] = 1; for(j = 1; j <= n; j++) if(!used[j] && dist[k][j] < lostcow[j]) lostcow[j] = dist[k][j]; } return sum; } int main() { int n; scanf("%d", &n); while(n--) { int m, i, j; scanf("%d", &m); for(i = 1; i <= m; i++) for(j = 1; j <= m; j++) scanf("%d", &dist[i][j]); int s = prim(m); printf("%d\n", s); } return 0; }
相关文章推荐
- Winform开发框架之介绍
- chrome打开清除浏览数据窗口快捷键
- DataGridView设置列标题
- C# winform 拖拽效果
- iOS9适配
- list请求参数作为springmvc方法参数
- request.getParameter() request.getAttribute()区别
- Ecshop wap
- Win10系统旗舰版ghost版系统镜像下载
- iOS 旋转
- 左右值无限分类 预排序遍历树算法:modified preorder tree traversal algorithm
- android 各个手机型号的功放和听筒模式的研究
- nginx 配置多个目录
- ios 旋转
- UML类之间的关系
- MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法
- cocos基础教程(11)事件分发机制
- 位置参数,默认参数,非关键字可变长参数,关键字可变长参数
- JSP四大作用域
- GIT使用-----github相关了解