SDUT OJ 2144 最小生成树
2014-12-20 22:12
357 查看
#include<iostream> #include<memory.h> #define MAX 0x3f3f3f3f #define N 110 using namespace std; int low ,map ,visit ; int n; int prim()//普里姆算法 { int i,j,pos,min,result=0; memset(visit,0,sizeof(visit)); visit[1]=1; pos=1; for(i=1;i<=n;i++) if(i!=pos) low[i]=map[pos][i]; for(i=1;i<n;i++) { min=MAX; for(j=1;j<=n;j++) { if(visit[j]==0 && min>low[j]) { min=low[j]; pos=j; } } if(MAX==min) { return -1; } result+=min; visit[pos]=1; for(j=1;j<=n;j++) { if(visit[j]==0 && low[j]>map[pos][j]) low[j]=map[pos][j]; } } return result; } int main() { int m,a,b,c,k,i; while(cin>>n>>m) { memset(map,MAX,sizeof(map)); for(i=1;i<=m;i++) { cin>>a>>b>>c; if(map[a][b]>c)//居然还有相同边....醉了... { map[a][b]=map[b][a]=c; } } k=prim(); cout<<k<<endl; } return 0; }
相关文章推荐
- sdut oj2144 图结构练习——最小生成树(普利姆算法)
- sdut oj 2144 最小生成树
- SDUT OJ 2144 图结构练习——最小生成树
- 数据结构与算法问题 sdut oj 2144 最小生成树
- 2144 数据结构实验之图论九:最小生成树
- SDUT 2144 图结构练习——最小生成树
- 最小生成树(prim算法模板,选点,oj2144)
- SDUT 2144 图结构练习-最小生成树
- SDUT 2144-最小生成树
- SDUT 2144 图结构练习——最小生成树
- OJ2144图结构练习——最小生成树
- SDUT 2144 图结构练习——最小生成树 Kruskal
- 2144 数据结构实验之图论九:最小生成树
- SDUT 2144 图结构练习——最小生成树
- sdut 2144 图结构练习——最小生成树(最小生成树)
- 2144-图结构练习——最小生成树
- 最小生成树——修路sdutoj2144——
- [SDUT](2144)图结构练习——最小生成树 ---最小生成树(图)
- 2144-数据结构实验之图论九:最小生成树
- SUDT 2144 图结构练习——最小生成树