最短路径
来源:互联网 发布:maven实战源码 许晓斌 编辑:程序博客网 时间:2024/06/15 06:12
//// main.cpp// 最短路径//// Created by mac on 17/6/9.// Copyright © 2017年 mac. All rights reserved.//#include <iostream>using namespace std;int main(int argc, const char * argv[]) { int a[10][10],n,m,i,j; int x,y,val; int vals[10]; int cf[10]; int inf=999999; //n 表示 多少点 m表示多少边的条数 while(scanf("%d%d",&n,&m)!=EOF) { //初始化 for(i=0;i<n;i++) for(j=0;j<n;j++) if(i==j) a[i][j]=0; else a[i][j]=inf; for(i=0;i<m;i++) { cin>>x>>y>>val; a[x][y]=val; a[y][x]=val; } for(i=0;i<n;i++) vals[i]=a[0][i]; memset(cf,0,sizeof(cf)); //起点是0 cf[0]=1; x=0; y=0; int min; for(i=0;i<n-1;i++) { min=inf; for(j=0;j<n;j++) { if(a[x][j]<min&&cf[j]==0) { min=a[x][j]; y=j; } } cf[y]=1; x=y; for(int k=0;k<n;k++) { if(vals[k]>vals[y]+a[y][k]) vals[k]=vals[y]+a[y][k]; } } for(i=0;i<n;i++) cout<<vals[i]<<' '; cout<<endl; } return 0;}
输入:
6 90 1 60 2 31 2 23 1 52 3 32 4 43 4 25 3 35 4 5
0 5 3 6 7 9
阅读全文
0 0
- 最短路径算法
- 最短路径算法
- 最短路径理解
- 最短路径算法
- 最短路径算法
- 最短路径问题
- 最短路径
- 最短路径
- 最短路径算法
- 图@ 最短路径
- 最短路径
- 最短路径算法
- 最短路径
- hdu2544(最短路径)
- 最短路径问题
- 最短路径问题
- 最短路径算法
- 最短路径算法
- vitualenvwrapper的常用命令
- 在spring boot中log4j2编程式配置(Programmatic Configuration)步骤
- startActivityForResult和setResult详解
- ruby的安装
- 语义化版本编号
- 最短路径
- Android Touch事件分发笔记
- C# 多文件与二进制互转数据库写入读出(上传文件二进制方式到DB中,下载DB中的二进制文件到本地)
- java基础教程:循环结构(10)
- @JsonIgnore @JsonIdentityInfo 处理Hibernate 循环引用的问题
- CMake + MinGW + OpenCV + CodeBlocks Windows下环境搭建
- 交叉编译出错
- Java基础回顾——重难点易错点【2】
- android shape 使用详解