hdu1233最短路问题使用
来源:互联网 发布:javascript php 混合 编辑:程序博客网 时间:2024/06/05 02:39
使用并查集加使用克鲁斯卡尔算法,水体直接解;
#include<stdio.h>#include<algorithm>using namespace std;int bin[5005];struct In{ int p1,p2; int v; }s[5005];bool compare(In a,In b){ return a.v < b.v;}int findx(int x){ int r=x; if(bin[r]!=r) bin[r]=findx(bin[r]); return bin[r];}int merge(int a,int b){ int fx,fy; fx=findx(a); fy=findx(b); if(fx==fy) return 1; else { if(fx<fy) bin[fx]=fy; else bin[fy]=fx; return 0; }}int main(){ int i,n,c1,c2,c3,c4,sum; while(scanf("%d",&n)&&n!=0) { sum=0; n=n*(n-1)/2; for(i=0;i<5005;i++) bin[i]=i; for(i=0;i<n;i++) { scanf("%d%d%d",&c1,&c2,&c3); s[i].p1=c1; s[i].p2=c2; s[i].v=c3; } sort(s,s+n,compare); for(i=0;i<n;i++) { if(merge(s[i].p1,s[i].p2)==0) sum+=s[i].v; } printf("%d\n",sum); } }
0 0
- hdu1233最短路问题使用
- js 最短路问题
- 最短路问题
- poj1062(最短路问题)
- 最短路问题
- Matlab--最短路问题
- 最短路问题总结
- 最短路问题
- 最短路问题 小结
- poj1062 最短路问题
- 最短路问题 小结
- 最短路问题
- 最短路问题
- Arbitrage(最短路问题)
- 图论-最短路问题
- 单元最短路问题
- SPFA(最短路问题)
- 最短路问题
- 服务器页面的跳转
- Linux整理!
- 3.36
- php 常用
- 关于dom 事件冒泡、捕获 dom事件三个阶段
- hdu1233最短路问题使用
- 项目经理应该知道的97件事--剔除多余的流程
- Unity3D的Time类(UnityEngine.Time)详解
- HTML5 FileReader
- listFragment
- 计算两点之间的距离
- jquery 基本操作
- android studio 获取sha1值和MD5值
- 禁用cookie后session是如何设置的