POJ 1251Jungle Roads(Kruskal)
来源:互联网 发布:金十数据dora是谁 编辑:程序博客网 时间:2024/05/21 09:23
传送门:http://poj.org/problem?id=1251
题目没怎么看懂,反正是最小生成树题,感觉挺好过的。
#include<cstdio>#include<algorithm>#include<cmath>#include<vector>#include<iostream>#include<cstring>#include<stack>using namespace std;struct node{int s,e;int v;node(int a,int b,int c):s(a),e(b),v(c){}};bool cmp(node a,node b){return a.v<b.v;}vector<node> edge;int pre[110];int Find(int x){int s;for(s=x;pre[s]>=0;s=pre[s]);while(s!=x){int t=pre[x];pre[x]=s;x=t;}return s;}void join(int a,int b){int fa=Find(a),fb=Find(b);int sum=pre[fa]+pre[fb];if(pre[fa]>pre[fb]){pre[fa]=fb;pre[fb]=sum;}else{pre[fb]=fa;pre[fa]=sum;}}int kruskal(int n){int ans=0;int i;int cnt=0;for(i=0;i<edge.size();i++){if(Find(edge[i].s)!=Find(edge[i].e)){join(edge[i].s,edge[i].e);cnt++;ans+=edge[i].v;}if(cnt==n-1)break;}return ans;}int main(){int n;while(scanf("%d",&n)!=EOF&&n){edge.clear();memset(pre,-1,sizeof(pre));int i,j;for(i=1;i<n;i++){char op[2];int num;scanf("%s%d",op,&num);while(num--){char to[2];int vv;scanf("%s%d",to,&vv);edge.push_back(node(op[0]-'A',to[0]-'A',vv));}}sort(edge.begin(),edge.end(),cmp);printf("%d\n",kruskal(n));}return 0;}
0 0
- POJ 1251Jungle Roads(Kruskal)
- POJ 1251 Jungle Roads(Kruskal)
- [POJ 1251]Jungle Roads Kruskal
- POJ 1251 Jungle Roads (kruskal)
- POJ 1251 Jungle Roads (Prim算法)&& (Kruskal算法)
- hdu 1301 Jungle Roads &&poj 1251 (prim 或者kruskal)
- POJ 1251 Jungle Roads(Prim or kruskal)
- poj 1251 Jungle Roads 解题报告(kruskal+prim)
- POJ 1251 Jungle Roads(最小生成树kruskal)
- POj 1251 Jungle Roads (Kruskal算法 + Prim算法)
- poj 1251 Jungle Roads【prim & kruskal】
- Jungle Roads (Kruskal)
- POJ 1251-Jungle Roads 最小生成树Kruskal
- POJ-1251-Jungle Roads-最小生成树-Kruskal算法
- 用Kruskal算法解POJ 1251 Jungle Roads代码
- poj 1251 Jungle Roads (最小生成树--kruskal)
- POJ1251- Jungle Roads(Kruskal)
- 图论 生成树 POJ 1251 Jungle Roads (prim)(Kruskal)
- 你真的了解 console 吗
- [20151019]SCZ训练
- Mysql学习 - 触发器和存储过程
- Java内存溢出详解及解决方案
- Problem H: 林教主的面试整数部分转换2进制,从右往左,除二取余;小数部分从左往右,乘二取整
- POJ 1251Jungle Roads(Kruskal)
- UIButton
- javascript入门
- iOS --- 使用CoreTelephony来获取运营商信息
- Java中的基本数据类型
- 黑马程序员 Java基础——多态、抽象类及接口
- Quick Sort源码
- 数学三角形问题
- Debugging Error: ClassNotFoundException的解决办法