SHAOXIAOJ正在加载中...

2760: DS2025-综合应用题

金币值:0 定数:1 时间限制:1.000 s 内存限制:128 M
解决:11 提交:20 正确率:55.00% 命题人:
点赞量:0 收藏量:0 题目类型:程序 来源/分类: 期末备考

题目描述

城市旅游景点柏油公路建设:随着中国改革开放的不断深入,人们的生活水平越来越高,越来越多的人希望利用假期前往国内各旅游景点游览,在放松心情的同时领略祖国的大好河山,激发民族自豪感。假设国内有 $n$ 个主要旅游景点,管理部门希望任意两个景点之间都能通过柏油公路连通(即形成一个连通网络)。由于建设资金有限,管理部门希望以最小的总成本完成柏油公路网络建设。已知任意两个景点之间均可修建柏油公路,且每条公路的建设成本已知。现在需要设计一个算法,输出连通所有景点的最小成本。

测试代码   复制

#include<stdio.h>
#define MAXSIZE 100 // 最大顶点数由用户定义
#define INFINITY 65535
typedef struct {
	int a[MAXSIZE][MAXSIZE]; //邻接矩阵,下标从0开始使用 
	int n; //图中顶点数 
	int m; //图中边数
}Graph;
void CreateGraph(Graph &g); //建立图的邻接矩阵 
int minSpanTree(Graph G,int v); //返回最小生成树上所有边上权重之和 
int main(void) {
	Graph g;
	scanf("%d %d",&g.n,&g.m);
	CreateGraph(g);
	int min=minSpanTree(g,0); 
	printf("%d\n",min); //输出最小代价 
	return 0;
}

void CreateGraph(Graph &g){ //建立图的邻接矩阵
	________	
}
int minSpanTree(Graph g, int v) { //求从顶点v出发求最小生成树代价 
	________
}

输入

第一行输入一个整数,表示图中的顶点数;
第二行输入一个整数,表示图中的边数;
接下来输入 $m$ 行,每行有 $3$ 个整数,分别表示图中边的两个顶点编号以及该边的权。

输出

输出满足要求的最小成本。

样例输入    复制

3
3
0 1 10
1 2 20
2 0 30

样例输出    复制

30