SDUT 2144 图结构练习——最小生成树
来源:互联网 发布:matlab编程实例 编辑:程序博客网 时间:2024/05/17 00:58
SDUT 2144 图结构练习——最小生成树
Time Limit: 1000MS Memory Limit: 65536KB
Problem Description
有n个城市,其中有些城市之间可以修建公路,修建不同的公路费用是不同的。现在我们想知道,最少花多少钱修公路可以将所有的城市连在一起,使在任意一城市出发,可以到达其他任意的城市。
Input
输入包含多组数据,格式如下。
第一行包括两个整数n m,代表城市个数和可以修建的公路个数。(n <= 100, m <=10000)
剩下m行每行3个正整数a b c,代表城市a 和城市b之间可以修建一条公路,代价为c。
Output
每组输出占一行,仅输出最小花费。
Example Input
3 2
1 2 1
1 3 1
1 0
Example Output
2
0
Submit
#include <bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3fconst int MAXN = 105;int mp[MAXN][MAXN];bool visit[MAXN];int dist[MAXN];void prim(int N)//算出每个城镇到其他城镇的最短路{ int i, j, k; int Min; int sum = 0; for(i = 1; i <= N; i++) dist[i] = mp[1][i]; visit[1] = 1; for(i = 2; i <= N; i++) { Min = INF; for(j = 1; j <= N; j++) { if(dist[j] < Min && !visit[j]) { k = j; Min = dist[j]; } } visit[k] = 1; sum += Min; for(j = 1; j <= N; j++) if(mp[k][j] < dist[j] && !visit[j]) dist[j] = mp[k][j]; } printf("%d\n", sum);}int main(){ int N, M; while(~scanf("%d %d", &N, &M)) { if(M < N - 1) { printf("0\n"); continue; } memset(mp, INF, sizeof(mp)); memset(visit, 0, sizeof(visit)); memset(dist, INF, sizeof(dist)); for(int i = 1; i <= N; i++) mp[i][i] = 0; while(M--) { int u, v, w; scanf("%d %d %d", &u, &v, &w); if(w < mp[u][v]) mp[u][v] = mp[v][u] = w; } prim(N); } return 0;}
0 0
- SDUT 2144 图结构练习——最小生成树
- SDUT 2144 图结构练习——最小生成树
- sdut 2144 图结构练习——最小生成树
- SDUT 2144 图结构练习——最小生成树
- SDUT 2144 图结构练习——最小生成树
- SDUT 2144 图结构练习——最小生成树
- SDUT-2144 图结构练习——最小生成树
- SDUT 2144 图结构练习——最小生成树
- [SDUT](2144)图结构练习——最小生成树 ---最小生成树(图)
- sdut 2144 图结构练习——最小生成树(最小生成树)
- SDUT-图结构练习——最小生成树
- 【2144】图结构练习——最小生成树 (prim算法模板) (sdut)
- SDUT OJ 2144 图结构练习——最小生成树
- SDUT 2144 图结构练习——最小生成树 Kruskal
- SDUT 2144 图结构练习-最小生成树
- sdut oj2144 图结构练习——最小生成树(普利姆算法)
- SUDT 2144 图结构练习——最小生成树
- 2144-图结构练习——最小生成树
- PAT(A)-1127. ZigZagging on a Tree (30)(树的重建)
- Ubuntu 安装 MySQL
- 基于BP神经网络的数字识别基础系统(二)
- spark设计思想
- 有关ajax 不走回调函数的问题解析
- SDUT 2144 图结构练习——最小生成树
- Java算法-排序-选择排序
- Set shadow in Android 5+
- python requests.get() 下载大文件
- jQuery名称冲突解决方法
- 奖品的价值 Erasing and Winning
- 怎样写出漂亮整洁的代码?聊聊clean code的编码、重构技巧
- 正向表模板
- 记录一则线上bug