poj 1251 jungle roads
来源:互联网 发布:unity3d 四元数 编辑:程序博客网 时间:2024/06/02 03:58
prim算法
#include<iostream>#include<cstring>#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;#define maxn 30#define inf 0xfffffffint n; //总点数int d[maxn][maxn];//村庄图int v[maxn];//已选标记int l[maxn];//点到已选点最短路径长度int prim(){ int ans=0;//结果 memset(v,0,sizeof(v));//初始化,清零 v[0]=1; l[0]=0;//已选(0,0)为起点 for(int i=1;i<n;i++) { l[i]=d[0][i]; } for(int i=1;i<n;i++) { int m=inf,temp; for(int j=0;j<n;j++) { if(!v[j]&&m>l[j]) { m=l[temp=j]; } } ans+=m; l[temp]=0; v[temp]=1; for(int i=0;i<n;i++) { l[i]=min(l[i],d[temp][i]); } } return ans; } int main(){ int p,q; char a[2],b[2]; while(scanf("%d",&n)&&n) { for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(i==j) { d[i][j]=0; } else { d[i][j]=inf; } } } for(int i=1;i<n;i++) { scanf("%s %d",&a,&p); for(int j=0;j<p;j++) { scanf("%s %d",&b,&q); d[a[0]-'A'][b[0]-'A']=d[b[0]-'A'][a[0]-'A']=q; } } printf("%d\n",prim()); } return 0;}
0 0
- POJ 1251 Jungle Roads
- poj 1251 Jungle Roads
- poj 1251 Jungle Roads
- POJ-1251 jungle roads
- poj 1251 Jungle Roads
- POJ-1251-Jungle Roads
- POJ 1251 Jungle Roads
- Poj 1251 Jungle Roads
- POJ-1251-Jungle Roads
- POJ 1251 Jungle Roads
- POJ 1251 Jungle Roads
- POJ-1251-Jungle Roads
- POJ 1251 Jungle Roads
- POJ:1251 Jungle Roads
- POJ 1251 Jungle Roads
- POJ 1251 Jungle Roads
- POJ-1251 Jungle Roads
- poj 1251 Jungle Roads
- JavaScript Removeclass addClass 简单封装
- 让你的mysql表字段支持中文
- 序列化接口Serializable
- 关于php接口中命名空间报错问题:
- NestedScrollView的使用
- poj 1251 jungle roads
- OpenCV On Android环境配置最新&最全指南(Eclipse篇)
- 重写和继承关系中的构造方法
- Matlab coder 踩过的那些坑
- 常用的字符串加密解密工具类
- Linux(五) 之 bash工作原理
- LQOJ ALGO-156 表达式计算
- Mac下安装iPython
- Android5.0后的ViewGroup添加子View问题