3362=数据结构实验之图论六:村村通公路
时间:2019-11-10
本文章向大家介绍3362=数据结构实验之图论六:村村通公路 ,主要包括3362=数据结构实验之图论六:村村通公路 使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #define INF 99999999 5 int map[1000][1000],dis[1000],visited[10000]; 6 int sum; 7 void prim(int n) 8 { 9 int count=1,i,j,k; 10 while(count<=n) 11 { 12 count++; 13 int min=INF; 14 for(i=1; i<=n; i++) 15 { 16 if(visited[i]==0&&dis[i]<min) 17 { 18 min=dis[i]; 19 j=i; 20 } 21 } 22 if(min==INF) 23 { 24 sum=-1; 25 return; 26 } 27 visited[j]=1; 28 sum+=dis[j]; 29 for(k=1; k<=n; k++) 30 { 31 if(visited[k]==0&&dis[k]>map[j][k]) 32 dis[k]=map[j][k]; 33 } 34 } 35 36 } 37 int main() 38 { 39 int n,m; 40 while(~scanf("%d%d",&n,&m)) 41 { 42 int i,j; 43 sum=0; 44 memset(visited,0,sizeof(visited)); 45 for(i=1; i<=n; i++) 46 { 47 for(j=1; j<=n; j++) 48 { 49 if(i==j) 50 map[i][j]=0; 51 else 52 map[i][j]=INF; 53 } 54 } 55 while(m--) 56 { 57 int a,b,c; 58 scanf("%d%d%d",&a,&b,&c); 59 map[a][b]=map[b][a]=c; 60 } 61 for(i=1; i<=n; i++) 62 { 63 dis[i]=map[1][i]; 64 } 65 prim(n); 66 printf("%d\n",sum); 67 } 68 return 0; 69 }
原文地址:https://www.cnblogs.com/Angfe/p/11831361.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法