图论 生成树 POJ 1251 Jungle Roads (prim)(Kruskal)
来源:互联网 发布:奥鹏网络研修总结作业 编辑:程序博客网 时间:2024/04/30 07:30
#include <iostream>#include <cstdio>#include <cstdlib>#include <string.h>using namespace std;#define N 30#define INF 99999999int mp[N][N],vis[N],dis[N];int n;int prim(){int i, j, p; int min, res = 0; memset(vis, 0, sizeof(vis)); vis[1] = 1; for (i = 1; i <= n; i++) dis[i] = mp[1][i]; for (i = 1; i < n; i++) { min = INF; p = 0; for (j = 1; j <= n; j++) if (!vis[j] && min > dis[j]) { min = dis[j]; p = j; }vis[p] = 1;if(min!=INF)res += min; for (j = 1; j <= n; j++) if (!vis[j] && dis[j] > mp[p][j]) dis[j] = mp[p][j]; } return res;}int main(){int m,t,i,j;char a,b;while(cin>>n,n){for(i=1;i<=n;i++){for(j=1;j<=n;j++)mp[i][j]=INF;mp[i][i]=0;}for(i=1;i<n;i++){cin>>a>>m ;for(j=1;j<=m;j++){cin>>b >>t;if(mp[a-'A'+1][b-'A'+1] > t)mp[a-'A'+1][b-'A'+1]=mp[b-'A'+1][a-'A'+1]=t;}}cout<<prim()<<endl;}return 0;}
#include <iostream>#include <stdio.h>#include <algorithm>#include <string.h>using namespace std;struct node{int u,v,w;};node mp[5050];int st[30];int n,m,k;bool cmp(node a,node b){return a.w<b.w;}int find(int x){return x == st[x] ? st[x] :find (st[x]);}int Union(int a,int b){int x,y;x=find(a);y=find(b);if(x==y)return 1;else{st[y]=x;return 0;}}void kuska(){int i,sum=0;for(i=0; i<k ;i++){if(Union(mp[i].u,mp[i].v) == 0)sum+=mp[i].w;}cout<<sum<<endl;}int main(){int i,j,t;char char1,char2;while(cin>>n,n)//n点,m边{k=0; for(i=1;i<n;i++){cin>>char1>>m;for(j=1;j<=m;j++){cin>>char2>>t;mp[k].u = char1-'A'+1;mp[k].v = char2-'A'+1;mp[k].w = t;k++;}st[i]=i;}st[i]=i;sort(mp,mp+k,cmp);kuska();}return 0;}
0 0
- 图论 生成树 POJ 1251 Jungle Roads (prim)(Kruskal)
- POJ 1251 Jungle Roads (Prim算法)&& (Kruskal算法)
- hdu 1301 Jungle Roads &&poj 1251 (prim 或者kruskal)
- POJ 1251 Jungle Roads(Prim or kruskal)
- poj 1251 Jungle Roads 解题报告(kruskal+prim)
- POj 1251 Jungle Roads (Kruskal算法 + Prim算法)
- POJ 1251 Jungle Roads(最小生成树kruskal)
- POJ-1251 Jungle Roads 最小生成树(prim算法)
- poj 1251 Jungle Roads【prim & kruskal】
- POJ 1251Jungle Roads(Kruskal)
- POJ 1251 Jungle Roads(Kruskal)
- Jungle Roads 最小生成树(kruskal)
- zoj 1406 Jungle Roads(Prim || Kruskal)
- POJ - 1251 Jungle Roads (最小生成树Kruskal、并查集)
- POJ 1251-Jungle Roads 最小生成树Kruskal
- POJ-1251-Jungle Roads-最小生成树-Kruskal算法
- poj 1251 Jungle Roads (最小生成树--kruskal)
- poj 1251 Jungle Roads prim最小生成树基础
- mybatis sqlserver 分页查询报错:'@P0' 附近有语法错误
- 函数声明文件
- MySQL笔记-jdbc编程步骤
- 过滤器
- 2016.8.11面试点
- 图论 生成树 POJ 1251 Jungle Roads (prim)(Kruskal)
- 身份实名认证返照
- hdu-1052-Tian Ji -- The Horse Racing(经典)
- POJ3694
- 数据质量提升必达之路
- Android Studio中使用git将项目推送到github
- upper_bound()返回值 lower_bound()返回值
- iOS网络编程 get post 区别
- Ubuntu X64 系统安装配置编录