jungle roads
来源:互联网 发布:潮汕女孩知乎 编辑:程序博客网 时间:2024/06/15 03:45
题目网址:jungle roads
题目大意:指的是给你一个图,让你给出将所有节点相连接起来的最小的花销,花销与边权值是相对应的,最终输出最小的结果。这个输入是比其他稍微复杂点,给n表示村庄的数目,接下来n-1行,第一个字符是起点,第二个数字是表示与这个起点相邻的节点的个数,然后是相邻节点的字符和距离;
就是采用并查集来做,最小生成树的kruskal算法,直接给出源代码了。。
#include<iostream>#include<algorithm>using namespace std;int parent[30];int findroot(int x){if (parent[x] != x)parent[x] = findroot(parent[x]);return parent[x];}struct edge{int a, b;int cost;bool operator <(const edge &a)const{return cost < a.cost;}}e[80];int main(){int n;while (cin >> n&&n){for (int i = 0; i < n; i++)parent[i] = i;int size = 0;for (int i = 0; i < n - 1; i++){char a, b;int t;int co;cin >> a >> t;for (int i = 0; i < t; i++){cin >> b >> co;e[size].a = a - 'A';e[size].b = b - 'A';e[size].cost = co;size++;}}sort(e, e + size);int ans = 0;for (int i = 0; i < size; i++){int a = findroot(e[i].a);int b = findroot(e[i].b);if (a != b){parent[a] = b;ans += e[i].cost;}}cout << ans << endl;}return 0;}
阅读全文
0 0
- Jungle Roads
- Jungle Roads
- Jungle Roads
- Jungle Roads
- Jungle Roads
- Jungle Roads
- Jungle Roads
- Jungle Roads
- Jungle Roads
- Jungle Roads
- Jungle Roads
- Jungle Roads
- Jungle Roads
- jungle roads
- 1251 Jungle Roads
- POJ 1251 Jungle Roads
- pku1251 Jungle Roads(kruskal)
- Jungle Roads hdu1301
- Java中PriorityQueue的排序,堆排序
- 动态代理代码段
- Lock和synchronized比较详解
- 小白算法练习 树状dp caioj 二分苹果树
- 机器学习(4)-理解SVM的损失函数和梯度表达式的实现+编程总结
- jungle roads
- 机器学习笔记——梯度下降算法
- 机器学习职业进阶路线
- Leetcode之Summary Ranges 问题
- 一张图说CSS基础
- java中的封装和包
- 详解synchronized与Lock的区别与使用
- offer35--第一个只出现一次的字符
- debug