7-13 公路村村通
现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。
输入格式:
输入数据包括城镇数目正整数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<stdio.h>
#include<stdlib.h>#define MAXVEX 1003
#define INFINITY 65535void CreateGraph( );
int Prim();int G[MAXVEX][MAXVEX],Nv,Ne;int main()
{int f = 0;scanf("%d %d",&Nv,&Ne);CreateGraph();f =Prim();printf("%d",f);return 0;
}void CreateGraph()
{//用邻接矩阵表示图int i,j;int v1,v2,w;for( i=1; i<=Nv; i++){for( j=1; j<=Nv; j++){G[i][j] = INFINITY; //初始化}}for( i=0; i<Ne; i++) //注意这里是读入边{scanf("%d %d %d",&v1,&v2,&w);G[v1][v2] = w; //读入权值G[v2][v1]= G[v1][v2]; //无向图对称}
}int Prim()
{int min;int i,j,k;int lowcost[MAXVEX];int cost =0;lowcost[1] = 0; //初始化第一个权值为0,即v0加入生成树for( i=2; i<=Nv; i++){lowcost[i] = G[1][i];}for( i=2; i<=Nv; i++){min = INFINITY;j = 1;k = 0;while( j<=Nv ){if( lowcost[j]!=0 && lowcost[j]<min){min = lowcost[j];k = j; //将当前最小值的下标存入k}j++;}if(k==0){return -1; //不连通}cost += min;lowcost[k] = 0; //将当前顶点设置为0,表示此结点已经完成任务for( j=2; j<=Nv; j++){if( lowcost[j]!=0 && G[k][j]<lowcost[j]){//若下标为k顶点各边权值小于此前这些顶点未被加入生成树的权值lowcost[j] = G[k][j];}}}return cost;
}
7-13 公路村村通相关推荐
- 08-图7 公路村村通
08-图7 公路村村通(30 分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N(≤ ...
- 7-5 公路村村通 (30 分)(C语言实现)
现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N) ...
- 7-10 公路村村通 (最小生成树Prim算法) | PTA数据结构与算法——C语言实现
公路村村通 非常直白的最小生成树问题. 原题链接:PTA | 程序设计类实验辅助教学平台 题目描述 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通 ...
- 08-图7 公路村村通(浙大数据结构)
中国大学MOOC-陈越.何钦铭-数据结构-2022夏 08-图7 公路村村通 分数 30 作者 陈越 单位 浙江大学 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每 ...
- 7-10 公路村村通 (30 分)(C语言)
7-10 公路村村通 (30 分) (写在前面:Kruskal算法不够完善,跪求大佬指点怎么修改,拜托拜托
- PTA 公路村村通 思路分析及代码解析
PTA 公路村村通 一.前导 1. 需要掌握的知识 2. 题目信息 二.解题思路分析 1. 题意理解 1. 1 输入数据 1.2 输出数据 2. 思路分析(重点) 三.具体实现 1. 弯路和bug 2 ...
- PTA 公路村村通
7-10 公路村村通 (30分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N(≤1 ...
- 06-图6. 公路村村通(30)
06-图6. 公路村村通(30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的 ...
- 浙大数据结构:08-图7 公路村村通 (30 分)Prim与Kruskal算法
08-图7 公路村村通 (30 分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N( ...
- PTA_21_08_图7 _公路村村通
PTA_21_08_图7 _公路村村通 题目描述 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式 输入数据包括城镇数目 ...
最新文章
- 100天59万行代码_如何抽出100天的代码时间
- 如何使用visual studio 2017创建C语言项目
- 马士兵java note 5
- 如何成为SAP行业专家
- 广汽研究院BMS软件工程师_感·创未来 2020广汽科技日有哪些干货?
- CentOS 5打造全功能Web服务器
- ZooKeeper入门指南
- Android中文翻译组 - 简介
- Flink SQL实时数仓开源UI平台
- Weblogic常见故障常:JDBC Connection Pools
- 类似平行宇宙的灵异事件,三个常见的解释
- 16.2 调色板动画
- 从CVPR2019看计算机视觉的最新趋势
- 2021年PMP考试模拟题11(含答案解析)
- 带你学习《深入理解计算机系统》虚拟存储器(1)——虚存概念及页、页表和地址翻译基础
- 计算机显示器模糊,显示器模糊,我来教您电脑显示器模糊怎么办
- Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date'
- 【面试宝典】Java八股文之多线程并发面试题
- 谈谈“五级工程师和职业发展”的思考
- layui 输入框添加自定义图标