hdu1233最小生成树 prim算法模板
来源:互联网 发布:郑州知豆电动汽车租赁 编辑:程序博客网 时间:2024/06/05 06:29
思路:
1.从未选节点集合中选择到已选节点距离最近的点;
2.用该点更新未选节点到已选节点集合的距离;
3.不断循环2。
#include<stdio.h>#include<string.h>#include<string>#include<algorithm>#include<iostream>#include<set>#include<map>#include<queue>#include<stack>#include<vector>#include<math.h>#include<stdlib.h>using namespace std;#define M 110#define MAX 2e20int dis[M][M],n;void prim(){int i,j,k,ans=0,tmp,lowcost[M*M];lowcost[0]=0;//初始化将0节点纳入 for(i=1;i<n;i++)//初始化未选节点到已选节点(目前只有0)的距离 {lowcost[i]=dis[0][i];}for(i=1;i<n;i++){int mi=MAX;for(j=0;j<n;j++)//从未选节点中选择距离已选节点最近的点 {if(mi>lowcost[j]&&lowcost[j]!=0){mi=lowcost[j];tmp=j;}}ans+=mi;lowcost[tmp]=0;for(j=0;j<n;j++)//用该点更新为选节点到已选节点集合的距离 {if(lowcost[j]>dis[tmp][j]){lowcost[j]=dis[tmp][j];}}}printf("%d\n",ans);}int main(){int i,j,k,e,a,b;while(scanf("%d",&n),n){e=n*(n-1)/2;for(i=0;i<e;i++){scanf("%d%d%d",&a,&b,&k);a--;b--;dis[a][b]=dis[b][a]=k;}prim();}return 0;}
- hdu1233最小生成树 prim算法模板
- 最小生成树(hdu1233)Prim算法
- HDU1233最小生成树 prim
- hdu1233最小生成树 kruskal算法模板
- hdu1233 还是畅通工程(最小生成树 prim 算法)
- hdu1233(prim求最小生成树)
- 最小生成树Prim算法模板
- 最小生成树-prim算法模板
- 最小生成树(prim算法模板)
- prim算法模板—最小生成树
- prim算法模板 (最小生成树)
- 最小生成树-Prim算法(模板)
- 【模板】最小生成树prim算法
- Prim算法模板(最小生成树)
- 最小生成树(prim算法)模板
- 最小生成树Prim算法模板
- 最小生成树Prim算法模板
- 最小生成树Prim算法模板
- Java Project报错:Access restriction is not accessible due to restriction on required library
- hdu 3228 (最大流+二分)
- [ Ajax ] ajax中return false/true 对外层js逻辑控制无影响
- POJ1006生理周期
- 函数传值 传地址 传引用的区别
- hdu1233最小生成树 prim算法模板
- 基类子类的this指针相同,但在基类函数永远调用基类的成员变量
- 视图切换的方式
- Hierarchical Storage structure
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
- HDU 1317 XYZZY Floyd判断能否到达+SPFA判断能否形成环及求最长路(好题)
- windows 下 解决vim乱码
- CentOS 6.3安装VNC报错Could not start Xvnc的解决办法
- note : font operation