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

输入格式:

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

输出格式:

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

输入样例:

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<cstdio>
#include<cstring>
const int maxn = 1100;
const int INF = 1000000000;
int map[maxn][maxn],c[maxn];
bool vis[maxn] = {false};
int n,m;void prime(){memset(c,0,sizeof(c));vis[1] = true;for(int i = 1; i <= n; i++){c[i] = map[i][1];}int sum = 0,flag = 0;for(int i = 2; i <= n; i++){int u = -1,MIN = INF;for(int j = 1; j <= n; j++){if(vis[j] == false && c[j] < MIN){u = j;MIN = c[j];}}if(u == -1){flag = 1;break;}vis[u] = true;sum += MIN;for(int v = 1; v <= n; v++){if(vis[v] == false && c[v] > map[u][v]){c[v] = map[u][v];}}}if(flag == 1){printf("-1");}else{printf("%d",sum);}
}int main(){scanf("%d%d",&n,&m);int u,v;for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){if(i == j){map[i][j] = 0;}else{map[i][j] = INF;}}}for(int i = 1; i <= m; i++){scanf("%d%d",&u,&v);scanf("%d",&map[u][v]);map[v][u] = map[u][v];}prime();return 0;
}

转载于:https://www.cnblogs.com/wanghao-boke/p/9982657.html

08-图7 公路村村通 (30 分相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 大物实验总结模板_高考化学实验题答题模板归类总结!
  2. hw叠加层开还是不开_HW叠加层是什么?
  3. 【AI不惑境】网络的宽度如何影响深度学习模型的性能?
  4. ubuntu下tftp的安装、配置、使用
  5. python数学公式代码导入_NumPy 数学函数及代数运算的实现代码
  6. 机器学习模型 非线性模型_调试机器学习模型的终极指南
  7. 织梦CMS内核宝宝算命取名企业模板
  8. ORACLE RAC中的oc4j和gsd资源以及RAC相关的进程
  9. 20-10-020-安装-KyLin-2.1.3单机版安装(MAC)
  10. Json学习总结(8)——经过多方调研,最终还是决定禁用FastJson
  11. 机载激光雷达测量技术及工程应用实践_倾斜摄影与激光雷达技术在实景三维测量应用中的比较...
  12. MySQL主从复制原理(原理+实操)
  13. 解析docker中的环境变量使用和常见问题解决
  14. 关于position定位的总结
  15. 仿某某网站模板thinkphp_7个免费PPT模板网站,远离撞P的尴尬
  16. 由三个点坐标判断三个点能否组成三角形模板(自用,客官可取)
  17. js汉语转拼音(全拼、首字母、拼音首字母)
  18. 计算机管理 未分配磁盘,电脑磁盘显示未分配怎么办?磁盘数据如何恢复?
  19. 天载配资总结指数很健康,现在新高
  20. MBA-day32 绝对值的几何意义

热门文章

  1. [PALAPALA] 无题 - 外来的和尚会念经
  2. 开窍小老虎,一步一个脚印之 初识汇编(一)
  3. Design a high performance cache for multi-threaded environment
  4. 可以使用中文作为变量名_次氯酸可以作为伤口消毒使用吗?
  5. 数据结构 算法与应用C 语言描述答案,数据结构算法与应用-C语言描述.pdf
  6. android 勿扰模式代码,Android N Zen Mode (勿扰模式)设置流程
  7. java taken_java-是否有正确的方法在slf4j中传递参数?
  8. 2020暨阳学院园林计算机考研考场,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...
  9. linux自动安装Java环境脚本,Linux 自动添加JAVA环境脚本
  10. 静态属性_Java面试题—内部类和静态内部类的区别