7-3 公路村村通 (30 分)
现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。

输入格式:
输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。为简单起见,城镇从1到N编号。

输出格式:
输出村村通需要的最低成本。如果输入数据不足以保证畅通,则输出−1,表示需要建设更多公路。

输入样例:
6 15
1 2 5
1 3 3
1 4 7
1 5 4
1 6 2
2 3 4
2 4 6
2 5 2
2 6 6
3 4 6
3 5 1
3 6 1
4 5 10
4 6 8
5 6 3
输出样例:
12
最小生成树,克鲁斯卡尔

#include <bits/stdc++.h>
using namespace std;
const int N=1005;
struct T
{int x,y,z;
}a[N*3];
int fa[N];
int Find(int x)
{return x==fa[x]?x:fa[x]=Find(fa[x]);
}
int Union(int a,int b)
{a=Find(a),b=Find(b),fa[a]=b;return a!=b;
}
int main()
{int n,m;cin>>n>>m;for(int i=1; i<=n; i++)fa[i]=i;for(int i=0,x,y; i<m; i++)cin>>a[i].x>>a[i].y>>a[i].z;sort(a,a+m,[](T a,T b){return a.z<b.z;});int ans=0,f=1;for(int i=0; i<m; i++)if(Union(a[i].x,a[i].y))ans+=a[i].z,f++;if(f==n)cout<<ans;else cout<<-1;return 0;
}

PTA 公路村村通 (30 分)相关推荐

  1. 7-5 公路村村通 (30 分)(C语言实现)

    现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N) ...

  2. 7-10 公路村村通 (30 分)(C语言)

    7-10 公路村村通 (30 分) (写在前面:Kruskal算法不够完善,跪求大佬指点怎么修改,拜托拜托

  3. 浙大数据结构:08-图7 公路村村通 (30 分)Prim与Kruskal算法

    08-图7 公路村村通 (30 分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N( ...

  4. 5-10 公路村村通 (30分)

    5-10 公路村村通 (30分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N( ≤ ...

  5. 08-图7 公路村村通 (30分)

    是关于最小生成树的问题(包含v个顶点v-1条边,且边的权重和最小),利用Kruskal贪心算法–将边合并成树,每次都取权值最小的边并且不构成回路,就利用到了并查集的算法(用数组存父节点). 08-图7 ...

  6. 7-3 公路村村通 (30分)含解析

    7-3 公路村村通 (30分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N(≤10 ...

  7. PTA 数据结构与算法题目集(中文) 7-10 公路村村通 (30分) 最小生成树(kruskal算法)

    我的GIS/CS学习笔记:https://github.com/yunwei37/ZJU-CS-GIS-ClassNotes <一个浙江大学本科生的计算机.地理信息科学知识库 > 还有不少 ...

  8. PTA 7-10 公路村村通 (30分)

    现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N) ...

  9. 08-图7 公路村村通 (30 分)

    现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N(≤)和候选道路数目M(≤):随后的M行 ...

  10. 7-1 公路村村通 (30 分)

    现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N) ...

最新文章

  1. python画笑脸-python 利用turtle库绘制笑脸和哭脸的例子
  2. 【云炬大学生创业基础笔记】第1章第2节测试
  3. f5 ppt图标_PPT制作学习 (PPT技巧干货,拿走不谢)
  4. html alert 的三种方式
  5. oracle number 7 5,oracle上机练习6-7及答案
  6. 如何显示win11隐藏文件
  7. 软考高项历年作文真题
  8. 大学计算机应用基础知识点总结ppt,计算机应用基础的课件
  9. AEJoy —— 介绍神奇的 10 个 AE 表达式附带 2 种简单的调试方法
  10. 计算机组成原理实验:基本运算器实验
  11. 转自it168论坛:繁体注音输入法教程
  12. 液晶显示器汉字字模存储及显示
  13. matlab程序运行完后响铃,matlab基本
  14. 一起装逼!开平方的七种算法
  15. CE修改器还能这样用?解除某度网盘限速
  16. 哈尔滨市平房区云计算助力 为创城插上智慧的翅膀
  17. 云计算基础2-什么是云存储?
  18. 僵尸网络Mirai变种疑似开始针对华为进行武器制作
  19. php url参数过滤器,使用php://filter时向流过滤器添加过滤器参数
  20. 向表插入记录的顺序和读取记录的次序一样吗??

热门文章

  1. 19,verilog之任务用法
  2. 使用 React18 + Vite + TypeScript 完成公司项目经验总结,学到了很多
  3. 中小微企业为什么要做互联网营销?
  4. 浪潮之巅第三章 — “水果”公司的复兴 (乔布斯和苹果公司)
  5. R语言使用rnorm函数生成正态分布随机数、自定义指定生成随机数的个数、均值、方差
  6. jsp mysql主机_云主机或服务器如何布署ASP/NET/PHP/JSP/MYSQL/MYSQL这类的运行环境?...
  7. 【C/C++】坐标旋转算法
  8. PHP云软件短信接口,php调用云片网接口发送短信的实现方法
  9. C++ 内联函数(秒懂)
  10. 不会做人,不善于沟通怎么办?