题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112

spfa或者迪杰斯特拉都可以

注意公交车是有来回的---

  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cstdio>
  4. #include <algorithm>
  5. #include <vector>
  6. #include <queue>
  7. #include <cmath>
  8. #include <stack>
  9. #include <cstring>
  10. #include <map>
  11. #include <string>
  12. using namespace std;
  13. #define INF 0xfffffff
  14. #define N 12000
  15. #define met(a, b) memset(a, b, sizeof(a))
  16. typedef long long LL;
  17.  
  18. struct node
  19. {
  20. int v, t;
  21. node(int v, int t):v(v), t(t){}
  22. };
  23.  
  24. vector<vector<node> >G;
  25.  
  26. int s, e;
  27. int cnt, vis[N], dist[N];
  28.  
  29. int spfa()
  30. {
  31. met(vis, );
  32. for(int i=; i<cnt; i++)
  33. dist[i] = INF;
  34. queue<int>Q;
  35. Q.push(s);
  36. vis[s] = ;
  37. dist[s] = ;
  38.  
  39. while(Q.size())
  40. {
  41. int p = Q.front(); Q.pop();
  42. vis[p] = ;
  43. int len = G[p].size(), q;
  44. for(int i=; i<len; i++)
  45. {
  46. q = G[p][i].v;
  47. if( dist[q] > dist[p]+G[p][i].t )
  48. {
  49. dist[q] = dist[p]+G[p][i].t;
  50. if(vis[q] == )
  51. {
  52. vis[q] = ;
  53. Q.push(q);
  54. }
  55. }
  56. }
  57. }
  58. return dist[e]==INF?-:dist[e];
  59. }
  60. int main()
  61. {
  62. int n;
  63. while(scanf("%d", &n), n!=-)
  64. {
  65. map<string, int> M;
  66. M.clear();
  67. G.clear();
  68. G.resize(n*+);
  69.  
  70. cnt = ;
  71.  
  72. char s1[], s2[];
  73.  
  74. scanf("%s %s", s1, s2);
  75.  
  76. if( !M[s1] ) M[s1] = cnt++;
  77. if( !M[s2] ) M[s2] = cnt++;
  78.  
  79. s = M[s1];
  80. e = M[s2];
  81.  
  82. for(int i=; i<=n; i++)
  83. {
  84. int t, u, v;
  85. scanf("%s %s %d", s1, s2, &t);
  86. if(!M[s1]) M[s1] = cnt++;
  87. if(!M[s2]) M[s2] = cnt++;
  88. u = M[s1];
  89. v = M[s2];
  90. G[u].push_back(node(v, t));
  91. G[v].push_back(node(u, t));
  92. }
  93.  
  94. printf("%d\n", spfa());
  95. }
  96. return ;
  97. }

HDU Today---hdu2112(最短路-_-坑在是无向图)的更多相关文章

  1. hdu 4568 Hunter 最短路+dp

    Hunter Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  2. hdu2112(HDU Today 简单最短路)

    Problem Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD ...

  3. hdu2112 HDU Today 基础最短路

    这题的关键是把车站的名字转化为点的编号.我用的是map.声明一个map<string,int> st,然后按照字符串出现的次序给st赋值.例如:st[s1]=2;代表这字符串s1出现的次序 ...

  4. poj 3463/hdu 1688 求次短路和最短路个数

    http://poj.org/problem?id=3463 http://acm.hdu.edu.cn/showproblem.php?pid=1688 求出最短路的条数比最短路大1的次短路的条数和 ...

  5. UVA 10537 The Toll! Revisited uva1027 Toll(最短路+数学坑)

    前者之所以叫加强版,就是把uva1027改编了,附加上打印路径罢了. 03年的final题哦!!虽然是水题,但不是我这个只会做图论题的跛子能轻易尝试的——因为有个数学坑. 题意:运送x个货物从a-&g ...

  6. F - JDG HDU - 2112 (最短路)&& E - IGNB HDU - 1242 (dfs)

    经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD夫妇也退居了二线,并在风景秀美的诸暨市浬 ...

  7. HDU 5521.Meeting 最短路模板题

    Meeting Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  8. hdu 5094 状压bfs+深坑

    http://acm.hdu.edu.cn/showproblem.php?pid=5094 给出n*m矩阵 给出k个障碍,两坐标之间存在墙或门,门最多10种,状压可搞 给出s个钥匙位置及编号,相应的 ...

  9. HDU 4568 Hunter 最短路+TSP

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4568 Hunter Time Limit: 2000/1000 MS (Java/Others)Me ...

随机推荐

  1. QT把widget转换成图片后打印

    from PyQt5.QtWidgets import (QApplication, QWidget, QTableWidget,QPushButton, QVBoxLayout, QTableWid ...

  2. php jquery pjax示例源码 (ajax请求,并改变url)

    下载地址: http://files.cnblogs.com/files/gaocong/jquery_pjax.rar

  3. u3d调用自己的dll

    原文地址:http://blog.sina.com.cn/s/blog_62f7cb730100zhhf.html 首先用vc建立一个dll工程 然后在里面建立一个testunity.h文件.内容如下 ...

  4. CPU性能判断指标---上下文切换,运行队列和使用率

    http://blog.chinaunix.net/uid-15007890-id-3064254.html uptime11:35:08 up 21:57,  6 users,  load aver ...

  5. Loadrunner进行md5加密方法

    本文主要介绍使用Loadrunner进行字符串md5加密的方法. 使用Loadrunner进行md5比较简单,首先是加载md5.h头文件,后使用头文件中的加密函数即可. 1. md5.h头文件内容如下 ...

  6. TFS 强制删除锁定文件(数据库)

    TFS:TFS2010 VS:VS2012 OS:Windows2008 DB:Sqlserver2008 R2 我们在团队开发当中,版本控制是一个不可忽略的工具.我们团队使用的是TFS2010这个版 ...

  7. elastic-job(lite)使用的一些注意事项

    前段时间项目开发中用到了当当开源的elastic-job,使用过程遇到一些问题,虽然不见得会影响写代码,但作为一个致力于搬好每一块砖的码农,当碰到问题时,我们不应该逃避,应该本着有困难也要上,没有困难 ...

  8. HDU 2594 Simpsons’ Hidden Talents (KMP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2594 这题直接用KMP算法就能够做出来,只是我还尝试了用扩展的kmp,这题用扩展的KMP效率没那么高. ...

  9. HTML&CSS精选笔记_HTML与CSS网页设计概述

    HTML与CSS网页设计概述 Web基本概念 认识网页 网页主要由文字.图像和超链接等元素构成.当然,除了这些元素,网页中还可以包含音频.视频以及Flash等. 名词解释 Internet网络 就是通 ...

  10. Ext3.4--TreeGridDemo

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CategoryProper ...