Hud 2122[Ice_cream’s world III Kruscal]
2013-10-01 14:42
253 查看
题目链接:怒点
以后要用primA他,先放了你。嘎嘎
这次同样错了好多次,但是都是细节上错了。
/* 1211 Ice_cream’s world III 基础最小生成树 Krusca过的. */ #include<cstdio> #include<algorithm> using namespace std; const int N=1005; const int M=10005; int father ,n,m; struct Rode { int xpoint,ypoint; int lenth; }rode[M]; bool cmp(Rode a,Rode b) { if(a.lenth<b.lenth) return true; return false; } void Init() { for(int i=0;i<n;i++) father[i]=i; } int Find_Father(int x) { if(x!=father[x]) father[x]=Find_Father(father[x]); return father[x]; } int Kruscal() { int min=0; Init(); sort(rode,rode+m,cmp); for(int i=0;i<m;i++) { int a=Find_Father(rode[i].xpoint); int b=Find_Father(rode[i].ypoint); if(a!=b) { father[a]=b; min+=rode[i].lenth; } } int k,tmp=Find_Father(0); // printf("(%d)\n",tmp); for(k=1;k<n;k++) { // printf("%d ",Find_Father(k)); if(Find_Father(k)!=tmp) break; } if(k==n) return min; else return -1; } int main() { while(scanf("%d%d",&n,&m)!=EOF) { for(int i=0;i<m;i++) scanf("%d%d%d",&rode[i].xpoint,&rode[i].ypoint,&rode[i].lenth); if(m<n-1) printf("impossible\n"); else{ int flag=Kruscal(); if(flag!=-1) printf("%d\n",flag); else printf("impossible\n"); } printf("\n"); } return 0; }
以后要用primA他,先放了你。嘎嘎
这次同样错了好多次,但是都是细节上错了。
相关文章推荐
- 杭电2122Ice_cream’s world III
- hdoj--2122--Ice_cream’s world III(克鲁斯卡尔)
- hdu 2122 Ice_cream’s world III
- hdoj 2122Ice_cream’s world III 【最小生成树 kruskal && prim】
- HDU_2122_Ice_cream’sWorldIII
- HDU 2122 Ice_cream’s world III(最小生成树Kruskal)
- HDU 2122 Ice_cream’s world III【最小生成树】
- hdoj 2122 Ice_cream’s world III
- hdoj 2122 Ice_cream’s world III 【最小生成树】
- 杭电2122Ice_cream’s world III(kruskal算法与prim算法)
- hdoj 2122 Ice_cream’s world III 【最小生成树】
- HDU 2122 Ice_cream’s world III
- 文章标题 HDU 2122: Ice_cream’s world III (最小生成树+kruskal)
- [MST]hdu 2122 Ice_cream’s world III
- hdu 2122 Ice_cream’s world III 最小生成树prim
- hdu 2122 Ice_cream’s world III(最小生成树))
- hdu 2122 Ice_cream’s world III(最小生成树)
- HDU 2122 Ice_cream’s world III(最小生成树)
- Ice_cream’s world III hdu 2122 最小生成树
- hdu 2122 Ice_cream’s world III(最小生成树)