hdu1233还是畅通工程(prim)
来源:互联网 发布:淘宝怎么用支付宝付款 编辑:程序博客网 时间:2024/05/24 15:39
http://acm.hdu.edu.cn/showproblem.php?pid=1233
#include<iostream>#include<cstdio>using namespace std;int mat[110][110],dist[110],n;bool visited[110];// 寻找V-U中未被访问,且dist最小的顶点int MinVertex( ) {int k = -1;int minValue=INT_MAX;for (int i = 0; i<n; i++) {if (dist[i] < minValue && visited[i]==false){minValue=dist[i];k = i;}}return k;}//辅助数组保存了最小生成树的完整信息,其中dist之和就是MST的代价, adjvex则给出了MST的构造情况。void Prim(int u) { //从顶点u出发构造网的最小生成树// 辅助数组初始化int i;for(i=0; i<n; i++){ dist[i]=mat[u][i]; }fill(visited, visited+n, false); visited[u] = true; // 初始,U={u}for(int v=1; v<n; v++){ // 选择vexnum-1个顶点(边)int k=MinVertex( ); // 加入生成树的下一个顶点(k)visited[k] = true; // 新节点加入集合U// 调整集合V-U中剩余顶点到集合U的最短距离for (i=0; i<n; i++) {if (visited[i]==false && mat[k][i]<dist[i]) {dist[i]= mat[k][i];}}}}int main(){int m,sum,a,b,c,i;while(scanf("%d",&n),n){m=n*(n-1)/2;fill(&mat[0][0],&mat[n][n],INT_MAX);for(i=0;i<m;i++){scanf("%d%d%d",&a,&b,&c);a--;b--;mat[a][b]=mat[b][a]=c;}Prim(0);sum=0;for(i=1;i<n;i++)sum+=dist[i];printf("%d\n",sum);}return 0;}
0 0
- hdu1233 还是畅通工程 (prim)
- hdu1233还是畅通工程(prim)
- 还是畅通工程 hdu1233 Prim
- HDU1233 还是畅通工程【Prim】
- hdu1233 还是畅通工程 prim
- hdu1233 还是畅通工程(prim)
- hdu1233 还是畅通工程(最小生成树 prim 算法)
- hdu1233 还是畅通工程(prim算法)解题报告
- HDU1233-还是畅通工程(Prim算法+Kruskal算法)
- hdu1233——还是畅通工程 (Prim)
- hdu1233 还是畅通工程(Prim备忘)
- HDU1233 还是畅通工程 解题报告--prim
- 【HDU1233】还是畅通工程【prim水】
- 还是畅通工程 hdu1233
- hdu1233还是畅通工程
- hdu1233还是畅通工程
- HDu1233 还是畅通工程
- hdu1233还是畅通工程
- 猜中游戏
- 线程机制实习报告_Nachos Lab1
- 产品经理七个局——破局之术
- mysql性能优化篇
- 三层起步终结
- hdu1233还是畅通工程(prim)
- Java反射机制总结之一
- C++中的静态数据成员和静态成员函数
- 常见web服务器一览
- Complied VS Interpreted Language编译型语言与解释型语言
- android应用Theme(一)
- error LNK1123: 转换到 COFF 期间失败
- wxWidgets中wxTimer处理图片切换的问题总结
- hibernate报错 :No CurrentSessionContext configured!