Nyoj 434&&Hud 1301 Jungle Roads[最小生成树Kruscal]
来源:互联网 发布:手机淘宝店铺怎么注册 编辑:程序博客网 时间:2024/05/07 01:33
题目链接:气点
/* Nyoj 434 Jungle Rode Kruscal 写的.算是裸的最下生成树吧! 输入上有点坑,cin过的。*/#include<cstdio>#include<algorithm>#include<iostream>using namespace std;const int N=30;const int MAX=250;struct Island{ int x,y; int len;}island[MAX];bool cmp(Island a,Island b){ if(a.len<b.len) return true; return false;}int n,top,father[N];void intput(){ char c; int LNum; top=0; for(int i=1;i<n;i++) { cin>>c>>LNum; int temp; char ctemp; for(int j=1;j<=LNum;j++) { cin>>ctemp>>temp; island[top].x=c-'A'+1; island[top].y=ctemp-'A'+1; island[top].len=temp; top++; } getchar(); }}int Find_Father(int x){ if(x!=father[x]) father[x]=Find_Father(father[x]); return father[x];}void kruscal(){ int min=0; for(int i=0;i<=N;i++) father[i]=i; sort(island,island+top,cmp); for(int i=0;i<top;i++) { int a=Find_Father(island[i].x); int b=Find_Father(island[i].y); if(a!=b) { father[a]=b; min+=island[i].len; } } printf("%d\n",min);}int main(){ while(scanf("%d",&n)&&n) { getchar(); intput(); kruscal(); }}/* kruscal小小的模板*/const int N=?const int MAX=?struct Rode{ int xpoint,ypoint; int lenth;}rode[MAX];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(); for(int i=0;i<=MAX;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; } } return min;}
还需要用量变到质变,多做题。
- Nyoj 434&&Hud 1301 Jungle Roads[最小生成树Kruscal]
- HDU 1301-Jungle Roads (Kruscal 最小生成树)
- hud-1301-Jungle Roads-最小生成树-java
- NYOJ 434 && POJ 1251 Jungle Roads(最小生成树)
- nyoj 434 Jungle Roads 【prim&&最小生成树】
- 最小生成树 Kruscal与Prime HDU 1233 还是畅通工程 HDU 1301 Jungle Roads
- HDU 1301 Jungle Roads 最小生成树
- hdoj 1301 Jungle Roads 【最小生成树】
- hdoj-1301-Jungle Roads【最小生成树】
- HDOJ 1301 Jungle Roads(最小生成树)
- hdoj 1301 Jungle Roads 【最小生成树】
- hdoj-1301 Jungle Roads 【最小生成树】
- HDOJ 1301 Jungle Roads(最小生成树
- HDU-1301 Jungle Roads (最小生成树)
- poj 1251 Jungle Roads(最小生成树kruscal+!学长秘授究极无敌新版结构体排序)
- Jungle Roads(最小生成树)
- Jungle Roads 最小生成树
- hdu 1301 Jungle Roads(最小生成树Prim算法)
- 软件开发中的资源控制问题学习
- 1012_(1)二维数组_数组内存分配_小数点精度
- 飞鸽传书 扩散全身的
- 项目管理软件收集与推荐
- java反射详解
- Nyoj 434&&Hud 1301 Jungle Roads[最小生成树Kruscal]
- 安装J2EE的SDK报错:could not find the required version of the Java(TM)2 Runtime Environment in '(null)'的解决
- easyu-tree的数据sql
- 几种排序算法性能比较
- android dalvik启动分析
- linux shell csh语法实例参考
- matlab_关于倾斜校正的函数
- 2013长春网络赛 1010 Flyer
- php文件缓存类