hiho刷题日记——第二十三天最短路径·一
来源:互联网 发布:淘宝csv数据怎么制作 编辑:程序博客网 时间:2024/05/20 00:13
题目
给一个无向有权(距离)图,求两点之间最小距离。
思路
根据给出的数据建立有个无向图。
从出发点开始深度遍历便可。遍历的时候得出出发点到遍历到的点的最短路径。便可得出答案。
代码
#include<cstdio>#include<cstring>using namespace std;const int MAXN=1000+1;const int MAXM=10000+1;int N,M,S,T,head[MAXN],e=0;int ans[MAXN];struct EDGE{ int v,next,cost;}edge[MAXM<<1];void addEdge(int x,int y,int z){ edge[e].v=y; edge[e].cost=z; edge[e].next=head[x]; head[x]=e++;}void dfs(int x){ if(x==T) return; for(int p=head[x];p!=-1;p=edge[p].next) if(ans[edge[p].v]==-1 || ans[x]+edge[p].cost<ans[edge[p].v]) { ans[edge[p].v]=ans[x]+edge[p].cost; dfs(edge[p].v); }}int main(){ memset(head,-1,sizeof(head)); memset(ans,-1,sizeof(ans)); scanf("%d%d%d%d",&N,&M,&S,&T); int a,b,c; while(M--) { scanf("%d%d%d",&a,&b,&c); addEdge(a,b,c); addEdge(b,a,c); } ans[S]=0; dfs(S); printf("%d",ans[T]); return 0;}
0 0
- hiho刷题日记——第二十三天最短路径·一
- hiho刷题日记——第二十四天最短路径·二:Floyd算法
- hiho刷题日记——第二十五天最短路径·三:SPFA算法
- hiho刷题日记——第十三天最近公共祖先·一
- hiho刷题日记——第三天KMP算法
- hiho刷题日记——第二十六天最小生成树一·Prim算法
- hiho刷题日记——第二十一天离散化
- hiho 23 最短路径 一(Dijstra)
- hiho刷题日记——第二天Trie树
- hiho 1081 最短路径
- hiho一下 第二十三周---最短路径·一:Dijkstra算法
- HIHO #1089 : 最短路径·二:Floyd算法
- HIHO #1093 : 最短路径·三:SPFA算法
- hiho刷题日记——第八天状态压缩·一
- hiho 25 最短路径 SPFA
- 最短路径(一)——多源最短路径
- hiho刷题日记——第三十天小Hi小Ho的惊天大作战:扫雷·一
- hihoCoder 1081 : 最短路径·一
- UESTC 1012 Ladygod 任意进制的转化
- [Swoole入门]-异步毫秒定时器
- Codeforces 600B Queries about less or equal elements(二分查找)
- 排序算法之插入排序
- 杭电ACM 1012 1013 1014
- hiho刷题日记——第二十三天最短路径·一
- java佩恩沃星球改进版1.0
- 今天第一次系统返回的数据里面有笑脸,探测笑脸ASCII 01
- hdu1172 猜数字(枚举)
- 关于以后计算机形态的一个畅想
- CSDN《老友记》简记
- 理解js的对象,对象创建,继承
- 导航栏的基础知识
- 杭电ACM 1017 1018 1019