hdu 1879 继续畅通工程(最小生成树,基础)
2014-01-15 21:21
357 查看
题目
View Code
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; #define M 110 #define inf 999999999 int mat[M][M]; int prim(int n,int sta) { int i,j,sum=0,mark[M],dis[M]; for(i=0;i<n;i++) { dis[i]=mat[sta][i]; mark[i]=0; } mark[sta]=1; for(i=1;i<n;i++) { int minn=inf,flag; for(j=0;j<n;j++) { if(dis[j]<minn&&mark[j]==0) { minn=dis[j]; flag=j; } } mark[flag]=1; sum+=dis[flag]; for(j=0;j<n;j++) { if(dis[j]>mat[flag][j]) dis[j]=mat[flag][j]; } } return sum; } int main() { int i,n,m,a,b,c,d; while(scanf("%d",&n),n) { m=n*(n-1)/2; for(i=0;i<m;i++) { scanf("%d%d%d%d",&a,&b,&c,&d); a--;b--; if(d) mat[a][b]=mat[b][a]=0; else mat[a][b]=mat[b][a]=c; } printf("%d\n",prim(n,0)); } return 0; }
View Code
相关文章推荐
- HDU-1879-继续畅通工程-最小生成树&邻接表
- HDU 1879 继续畅通工程 (克鲁斯卡尔_最小生成树)
- HDU 1879 继续畅通工程(最小生成树-Kruskal)
- hdu1879(Kruskal最小生成树)--继续畅通工程
- HDU 1879 继续畅通工程(最小生成树 Kruskal算法)
- HDU1879 继续畅通工程 【图论】【最小生成树】【Kruskal】
- hdu-1879-继续畅通工程(克鲁斯卡尔求最小生成树)
- HDU 1879 继续畅通工程 最小生成树之处理已建的边
- hdu 1879 继续畅通工程(图论:最小生成树)
- 【最小生成树+kruskal】杭电 hdu 1879 继续畅通工程
- HDU 1879 继续畅通工程 (最小生成树--Kruscal)
- MST(最小生成树)——Prim算法——HDU 1879-继续畅通工程
- HDU1879--继续畅通工程(最小生成树)
- hdu 1879 继续畅通工程 最小生成树
- Hdu 1879 继续畅通工程 最小生成树 解题报告
- HDU1879 继续畅通工程 【最小生成树Prim】
- HDU 1879 继续畅通工程——最小生成树
- 【HDU】-1879-继续畅通工程(最小生成树)
- HDU 1879--继续畅通工程【kruskal && 最小生成树 && 水题】
- hdu 1879——继续畅通工程 最小生成树