//不知道切过这道题目几次了,这次又wa了...双向路啊。。。。这波简直无奈了,今晚又是浪成狗!!!!
#include<cstdio>
#include<vector>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
#define INF 0X3f3f3f3f
#define N 100010struct asd{int to;int w;int next;
};
int head[N];
int tol;
asd q[N];
int dis[220];
bool vis[220];
int n;
int que[N*10];
void spfa(int s,int t)
{for(int i=0;i<n;i++){dis[i]=INF;vis[i]=0;}dis[s]=0;vis[s]=1;int he,tail;he=0;tail=1;que[he]=s;while(he<tail){int u=que[he];vis[u]=0;for(int k=head[u];k!=-1;k=q[k].next){int i=q[k].to;if(dis[i]>dis[u]+q[k].w){dis[i]=dis[u]+q[k].w;if(!vis[i]){que[tail++]=i;vis[i]=1;}}}he++;}if(dis[t]!=INF){printf("%d\n",dis[t]);}elseputs("-1");
}void add(int a,int b,int c)
{q[tol].to=b;q[tol].w=c;q[tol].next=head[a];head[a]=tol++;
}int main()
{int m;while(~scanf("%d%d",&n,&m)){int a,b,c;memset(head,-1,sizeof(head));tol=0;for(int i=0;i<m;i++){scanf("%d%d%d",&a,&b,&c);add(a,b,c);add(b,a,c);}int s,t;scanf("%d%d",&s,&t);spfa(s,t);}return 0;
}

转载于:https://www.cnblogs.com/keyboarder-zsq/p/5934589.html

HDOJ1874最短路【spfa】相关推荐

  1. 洛谷P1462 通往奥格瑞玛的道路 二分答案+最短路SPFA

    洛谷P1462 通往奥格瑞玛的道路 二分答案+最短路SPFA 二分交费最多的一次的钱数 然后只将符合要求的边加入图中 如果到终点的最短路大于等于血量 或者直接起点不能到达终点 那么说明不符合要求 需要 ...

  2. 图论刷水题记录(二)(最短路-----SPFA算法)

    继第一篇的后续,又来刷水题了,写的是SPFA算法,这个算法的复杂度比较玄学,感觉能不用就不用了,但是他的好处就是可以判断负圈. 3月26日: 1.POJ 1847 Tram 题意:在一个交通网络上有N ...

  3. 单源最短路 SPFA 算法模板

    简介 在图论中,最短路是十分重要的一部分,在很多问题中都有涉及 而现在所讲的 SPFA 算法是十分优秀的算法,时间复杂度为 O(k∗E)O(k*E) 其中 EE 是图的边数,而 kk 是一个常数,一般 ...

  4. POJ 3259 Wormholes【最短路/SPFA判断负环模板】

    农夫约翰在探索他的许多农场,发现了一些惊人的虫洞.虫洞是很奇特的,因为它是一个单向通道,可让你进入虫洞的前达到目的地!他的N(1≤N≤500)个农场被编号为1..N,之间有M(1≤M≤2500)条路径 ...

  5. POJ - 2449 Remmarguts' Date(第k短路:spfa+A*)

    题目链接:点击查看 题目大意:给出一个有向图,求第k短路 题目分析:偷学了一波A*,本来以为是多难的算法,其实就是bfs+优先队列的升级版,之前看的那些博客写的都太深奥了,以至于看了一半啥都没看懂然后 ...

  6. 【bzoj1726/Usaco2006 Nov】Roadblocks第二短路——SPFA

    题目链接 分析:题目要求一个连通图的从1到n的严格次短路,我们只需要在跑最短路的时候顺便判一下次短路是否能够被更新即可. dis[x][0]表示1到x的最短路,而dis[x][1]则表示次短路,需要分 ...

  7. jzoj1267-路障【最短路,SPFA】

    正题 大意 一张无向图,求次短路. 解题思路 我们先求出最短路并且求出点1和点n到每个点的距离,然后枚举边,将第一个点离点1的距离,和第二个点离点n的距离加上边权如果不是最短路就记录,然后取最小值. ...

  8. 洛谷P1346-电车【日常图论,最短路,SPFA】

    题目 一个有向图,每个点有个默认方向和若干个其他方向,走默认方向权值为0,其他方向权值为1,求最短路 输入 3 2 1(3个点,点2到点1) 2 2 3(2个点,起点为1,2为默认点,3为其他点) 2 ...

  9. 【POJ】3255 Roadblocks(次短路+spfa)

    http://poj.org/problem?id=3255 同匈牙利游戏. 但是我发现了一个致命bug. 就是在匈牙利那篇,应该dis2单独if,而不是else if,因为dis2和dis1相对独立 ...

最新文章

  1. 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0/Ubuntu
  2. boost::geometry模块Linestring相关的测试程序
  3. 档案和社会保险究竟有什么关系?【转】
  4. 音视频技术开发周刊 | 146
  5. python resample函数_python时序分析之重采集(resample)
  6. 歌谣致学习编程的你们
  7. Error: Can't resolve 'babel-loader'
  8. JMeter-Ramp-up Period解释
  9. 6个实用的 Python 自动化脚本,告别加班,你学会了吗?
  10. BZOJ3505 CQOI2014数三角形(组合数学)
  11. 手把手带你了解Spark作业“体检报告” --Spark UI
  12. canvas教程16-滚动的车轮
  13. 再见,Python正则表达式!
  14. 探秘互联网金融产品开发的技术路线图
  15. git学习——上传项目代码到github
  16. linuxprobe
  17. 程序设计与算法郭炜老师的课堂笔记1
  18. opengl 投影矩阵和深度测试
  19. centos7安装apt
  20. 作为一名设计师我们应该如何设计好一个品牌LOGO

热门文章

  1. How to change in the Cocos2d-x project from landscape to portrait both in iOS and Android
  2. 【Android】多线程下载加断点续传
  3. ubuntu server 10.04 NFS 添加共享目录
  4. Call 从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。
  5. Windows下的ping
  6. 多点子接口的帧中继配置(MP SubInterface FrameRealy)
  7. 3P5 Industrial Engineering Lecture 1-2: Method of Study
  8. UNITY Profiler 真机调试
  9. redhat6.5 yum register 问题
  10. 【机器学习】--回归问题的数值优化