博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【2143】图结构练习——最短路径 (Dijkstra算法)(SDUT)
阅读量:6787 次
发布时间:2019-06-26

本文共 1209 字,大约阅读时间需要 4 分钟。

图结构练习——最短路径

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

 给定一个带权无向图,求节点1到节点n的最短路径。
 

输入

 输入包含多组数据,格式如下。
第一行包括两个整数n m,代表节点个数和边的个数。(n<=100)
剩下m行每行3个正整数a b c,代表节点a和节点b之间有一条边,权值为c。
 

输出

 每组输出占一行,仅输出从1到n的最短路径权值。(保证最短路径存在)
 

示例输入

3 21 2 11 3 11 0

示例输出

10
 
 
#include 
#include
#include
#define inf 9999999int ma[110][110];//记录地图int dis[110];int vis[110];//标记int n,m;int s,e;//初始点和终点void dij(){ int i,j; int pos; s=1; e=n; memset(vis,0,sizeof(vis)); for(i=1;i<=n;i++) dis[i]=ma[s][i]; vis[s]=1; for(i=1;i
ma[pos][j]+dis[pos])//算法关键 dis[j]=ma[pos][j]+dis[pos]; } } if(dis[e]!=inf) printf("%d\n",dis[e]); else printf("-1\n");}int main(){ int i,j; int x,y,z; while(~scanf("%d %d",&n,&m)) { for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { ma[i][j]=inf; if(i==j) ma[i][j]=0; } } for(i=0;i
z) ma[x][y]=ma[y][x]=z; } dij(); } return 0;}

转载于:https://www.cnblogs.com/jiangyongy/p/3971609.html

你可能感兴趣的文章
我的友情链接
查看>>
神奇的504 Bad Gateway Timeout
查看>>
mysql安装报错解决一例
查看>>
在服务器上排除问题的头五分钟
查看>>
安装 - FreeBSD + Nginx 环境搭建教程(推荐)
查看>>
学习cocos2d --- 场景创建
查看>>
小凡带你搭建本地的光盘yum源
查看>>
java 求最大公约数和最小公倍数
查看>>
vmware workstation的bridged NAT host-only区别与适用场景简介
查看>>
Linux基础知识
查看>>
Struts2中的OGNL详解
查看>>
隐藏/屏蔽服务器信息与web软件版本信息
查看>>
ifstat 网络流量统计工具
查看>>
VLC 2.2.6 Windows下搭建 rtsp流媒体服务器
查看>>
Django2 model操作数据库
查看>>
使用Azure Policy限制所有ASM资源
查看>>
在win7系统下使用TortoiseGit(乌龟git)简单操作Git@OSC
查看>>
强大的ghost.py 使用实例
查看>>
快速搭建NTP时间服务器
查看>>
网络基础
查看>>