题目链接: 传送门

最短路

  1. Time Limit: 1000MS     Memory Limit: 65536K

题目描述

  1. 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?

输入

  1. 输入包括多组数据。每组数据第一行是两个整数NMN

输出

  1.  
  2. 对于每组输入,输出一行,表示工作人员从商店走到赛场的最短时间

输入示例

  1. 2 1
  2. 1 2 3
  3. 3 3
  4. 1 2 5
  5. 2 3 5
  6. 3 1 2
  7. 0 0

输出示例

  1. 3
  2. 2
  1. #include<cstdio>
  2. #include<queue>
  3. using namespace std;
  4. #define INF 0x3f3f3f3f
  5. const int MAX_N = 105;
  6. bool flag[MAX_N];
  7. int edge[MAX_N][MAX_N];
  8. int spfa(int n)
  9. {
  10. int dis[MAX_N];
  11. queue<int >que;
  12. for (int i = 1;i <= n;i++)
  13. {
  14. dis[i] = INF;
  15. flag[i] = false;
  16. }
  17. dis[1] = 0;
  18. que.push(1);
  19. flag[1] = true;
  20. while (!que.empty())
  21. {
  22. int curval = que.front();
  23. que.pop();
  24. flag[curval] = false;
  25. for (int i = 1;i <= n;i++)
  26. {
  27. if (dis[curval] < dis[i] - edge[curval][i]) //dis[i] > dis[curval} + edge[curval][i]
  28. {
  29. dis[i] = dis[curval] + edge[curval][i];
  30. if (!flag[curval])
  31. {
  32. que.push(i);
  33. flag[i] = true;
  34. }
  35. }
  36. }
  37. }
  38. return dis[n];
  39. }
  40. int main()
  41. {
  42. int n,m,u,v,val;
  43. while (~scanf("%d%d",&n,&m) != EOF && n && m)
  44. {
  45. for (int i= 1;i <= n;i++)
  46. {
  47. for (int j = 1;j <= i;j++)
  48. {
  49. if (i == j) edge[i][j] = 0;
  50. else edge[i][j] = edge[j][i] = INF;
  51. }
  52. }
  53. for (int i = 0;i < m;i++)
  54. {
  55. scanf("%d%d%d",&u,&v,&val);
  56. edge[u][v] = edge[v][u] = val;
  57. }
  58. int time = spfa(n);
  59. printf("%d\n",time);
  60. }
  61. return 0;
  62. }

HDU 2544 单源最短路的更多相关文章

  1. hdu 2544 单源最短路问题 dijkstra+堆优化模板

    最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  2. [模板][HDU]P2544[单源最短路][SPFA]

    题目就不放了,主要是写一下SPFA,很少写,今天特别学了一个用STL的队列来做的. 代码: #include<iostream> #include<cstdio> #inclu ...

  3. 最短路模板(Dijkstra & Dijkstra算法+堆优化 & bellman_ford & 单源最短路SPFA)

    关于几个的区别和联系:http://www.cnblogs.com/zswbky/p/5432353.html d.每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个(草儿家到 ...

  4. [ACM_图论] Domino Effect (POJ1135 Dijkstra算法 SSSP 单源最短路算法 中等 模板)

    Description Did you know that you can use domino bones for other things besides playing Dominoes? Ta ...

  5. 用scheme语言实现SPFA算法(单源最短路)

    最近自己陷入了很长时间的学习和思考之中,突然发现好久没有更新博文了,于是便想更新一篇. 这篇文章是我之前程序设计语言课作业中一段代码,用scheme语言实现单源最段路算法.当时的我,花了一整天时间,学 ...

  6. 单源最短路_SPFA_C++

    当我们需要求一个点到其它所有点的最短路时,我们可以采用SPFA算法 代码特别好写,而且可以有环,但是不能有负权环,时间复杂度是O(α(n)n),n为边数,α(n)为n的反阿克曼函数,一般小于等于4 模 ...

  7. 【UVA1416】(LA4080) Warfare And Logistics (单源最短路)

    题目: Sample Input4 6 10001 3 21 4 42 1 32 3 33 4 14 2 2Sample Output28 38 题意: 给出n个节点m条无向边的图,每条边权都为正.令 ...

  8. 【算法系列学习】Dijkstra单源最短路 [kuangbin带你飞]专题四 最短路练习 A - Til the Cows Come Home

    https://vjudge.net/contest/66569#problem/A http://blog.csdn.net/wangjian8006/article/details/7871889 ...

  9. 模板C++ 03图论算法 1最短路之单源最短路(SPFA)

    3.1最短路之单源最短路(SPFA) 松弛:常听人说松弛,一直不懂,后来明白其实就是更新某点到源点最短距离. 邻接表:表示与一个点联通的所有路. 如果从一个点沿着某条路径出发,又回到了自己,而且所经过 ...

随机推荐

  1. HDU2255-奔小康赚大钱-二分图最大权值匹配-KM算法

    二分图最大权值匹配问题.用KM算法. 最小权值的时候把权值设置成相反数 /*-------------------------------------------------------------- ...

  2. Oracle date 和 timestamp 区别

    1.DATE数据类型 这个数据类型我们实在是太熟悉了,当我们需要表示日期和时间的话都会想到date类型.它可以存储月,年,日,世纪,时,分和秒.它典型地用来表示什么时候事情已经发生或将要发生.    ...

  3. leetcode 315. Count of Smaller Numbers After Self 两种思路(欢迎探讨更优解法)

    说来惭愧,已经四个月没有切 leetcode 上的题目了. 虽然工作中很少(几乎)没有用到什么高级算法,数据结构,但是我一直坚信 "任何语言都会过时,只有数据结构和算法才能永恒". ...

  4. Oracle中修改表名遇到“ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效”

    Oracle 11g中想修改表名: rename ASSETPORJECT to ASSETPROJECT; 结果提示:ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超 ...

  5. HTTP请求头参数

      Accept-Language: zh-cn,zh;q=0.5 意思:浏览器支持的语言分别是中文和简体中文,优先支持简体中文. 详解: Accept-Language表示浏览器所支持的语言类型: ...

  6. 为什么我们要给父级元素写overflow:hidden

    有这样的一种情况,有的时候,我们的父级元素设置了高度,一般来说,父级元素的高度是根据子元素的高度来自适应撑开的,如果我们的父级元素也设置了高度,那么其高度就不会随着子元素的的大小而自适应,也许有的时候 ...

  7. Python 练习册

    01:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果 [图像处理] 类似于图中效果: py 2.7代码: from PIL import Image, Im ...

  8. 【BZOJ 2190】【SDOI 2008】仪仗队 欧拉筛

    欧拉筛模板题 #include<cstdio> using namespace std; const int N=40003; int num=0,prime[N],phi[N]; boo ...

  9. 时间复杂度---我又要想起初中数学老师的脸了xxxxx

    时间复杂度: 常用的时间复杂度有:常数级,对数级,线性级 线性对数级 平方级,立方级别,多项式级别,指数级别,阶乘级别 这里我们主要探讨对数级,线性级,平方级,指数级---为什么不讨论其他的?别的我也 ...

  10. 172C

    模拟 #include<iostream> #include<algorithm> #include<vector> #include<cstdio> ...