hdu 1879 简单最小生成树
2011-12-01 15:54
274 查看
如果已经建好的公路就直接连一权值为0的边
View Code
View Code
#include<stdio.h> #include<string.h> #define inf 999999 int flag[200]; int D[200]; int map[200][200]; int n,i,j; int prime()//下标1开始 { int v,k; int ret=0,mi; for(i=1;i<=n;i++){ flag[i]=0; D[i]=inf; }D[1]=0;flag[1]=1;v=1; for(k=1;k<n;k++){ for(i=1;i<=n;i++)if(!flag[i]){ if(map[v][i]<D[i]) D[i]=map[v][i]; } mi=inf; for(i=1;i<=n;i++) if(!flag[i]&&D[i]<mi) mi=D[v=i]; flag[v]=1; ret+=mi; } return ret; } int main() { while(scanf("%d",&n),n) { int a,b,c,w; for(i=0;i<n*(n-1)/2;i++) { scanf("%d%d%d%d",&a,&b,&w,&c); if(c==0) map[a][b]=map[b][a]=w; else map[a][b]=map[b][a]=0; } printf("%d\n",prime()); } return 0; }
相关文章推荐
- hdu 1879 继续畅通工程 最小生成树
- MST(最小生成树)——Prim算法——HDU 1879-继续畅通工程
- hdu 1879 继续通畅工程(最小生成树)
- hdu1879(Kruskal最小生成树)--继续畅通工程
- HDU 1879 继续畅通工程【最小生成树】
- HDU 1879 继续畅通工程 最小生成树
- HDU 1879 继续畅通工程(最小生成树)
- HDU 1879 继续畅通工程(最小生成树 Kruskal算法)
- (step6.1.1)hdu 1879(继续畅通工程——最小生成树、kruscal)
- HDU 1879 继续畅通工程 最小生成树P算法
- HDU 1879 畅通工程(最小生成树)
- hdu 1879 继续畅通工程 最小生成树
- hdu 1233 (最小生成树 简单例题)
- hdu 1879(最小生成树kruskal)
- HDU 1879 继续畅通工程(Kruskal求最小生成树)
- hdu 1879 继续畅通工程 (并查集+最小生成树)
- 【HDU】-1879-继续畅通工程(最小生成树)
- hdu 1879 继续畅通工程(最小生成树,prim)
- HDU1879--继续畅通工程(最小生成树)
- hdu 1879 继续畅通工程 最小生成树kruskal