hdu 1863 kruskal
来源:互联网 发布:黑客wifi破解软件 编辑:程序博客网 时间:2024/05/21 15:01
WA无数啊!!!
#include<iostream>#include<algorithm>using namespace std;struct edge{ int u; int v; int w;}e[5005];int n,m;int f[110];/*void quicksort(int l,int r) //用快排{ int j,i; struct edge t; if(l>r) return ; i=l; j=r; while(i!=j) { while(e[j].w>=e[l].w&&i<j) j--; while(e[i].w<=e[l].w&&i<j) i++; if(i<j) { t=e[i];e[i]=e[j];e[j]=t; } } t=e[l]; e[l]=e[i]; e[i]=t; quicksort(l,i-1); quicksort(i+1,r); return ;}*/bool cmp(struct edge x,struct edge y) //sort函数排序{ if(x.w<y.w) return 1; return 0;}int get(int x){ return x==f[x]?x:f[x]=get(f[x]);}int mer(int v,int u){ int t1,t2; t1=get(v); t2=get(u); if(t1!=t2) { f[t2]=t1; return 1; } return 0;}int main(){ while(cin>>n>>m,n) { int sum=0,count=0; for(int i=1;i<=n;i++) { cin>>e[i].u>>e[i].v>>e[i].w; } //quicksort(1,m); sort(e+1,e+n+1,cmp); //下标从1开始,所以+1!! for(int i=1;i<=m;i++) f[i]=i; for(int i=1;i<=n;i++) { if(mer(e[i].u,e[i].v)) { // count++; //坑在这里好几次!! sum+=e[i].w; } //if(count==n-1) //应该是m-1...这个break没问题..... // break; } int c=0; for(int i=1;i<=m;i++) { if(f[i]==i) c++; } if(c<=1) cout<<sum<<endl; else cout<<"?"<<endl; } return 0;}
0 0
- hdu 1863 kruskal
- HDU 1863-kruskal
- hdu 1863(prim&kruskal)
- hdu 1863 Kruskal起步
- HDU 1863 畅通工程(Kruskal)
- hdu 1863 畅通工程kruskal算法
- HDU 1863 畅通工程(kruskal算法)
- HDU 1863 畅通工程(Kruskal)
- HDU-#1863 畅通工程(Kruskal & Prim)
- HDU 1863--畅通工程【Prim && kruskal】
- hdu 1863 畅通工程(kruskal)(基础)
- hdu 1863 畅通工程(kruskal算法)
- hdu 1863 畅通工程【kruskal & prim】
- HDU 1863 畅通工程(kruskal)
- hdu 1863 畅通工程 kruskal || prim
- hdu 1863 畅通工程(prim+kruskal)
- HDU:1863 畅通工程(kruskal)
- HDU 1863 畅通工程 (prim + kruskal)
- centos6.5安装oracle 11g R2
- 的双方的首发你电话疯狂的临时工
- ZOJ3197 Google Book 【贪心】
- maven常见问题问答
- 可视化 笔记
- hdu 1863 kruskal
- Delphi dbgrideh使用方法
- 图像算法
- 排队买票找钱(50元, 100元)
- 2G到4G网络的演进过程
- html5的优势在哪里?
- Hduoj1070!【结构体排序】
- Gridview中Datakeys 通过主键取得各列的值。
- crm2013sql服务器安装Microsoft Dynamics CRM Reporting Extensions遇到问题