1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <limits.h>
  4. #include <string.h>
  5. using namespace std;
  6. int map[][];
  7. int dis[];
  8. int n,pos,sum;
  9. void init()
  10. {
  11. for(int i=; i<; i++)
  12. {
  13. for(int k=; k<; k++)
  14. map[i][k] = INT_MAX;
  15. map[i][i] = ;
  16. }
  17. for(int i=; i<; i++)
  18. dis[i] = INT_MAX;
  19. sum = ;
  20. }
  21. void Dijkstra()
  22. {
  23. int used[];
  24. memset(used,,sizeof(used));
  25. int now = pos;
  26. dis[now] = ; used[now] = ;
  27. for(int i=; i<n; i++)
  28. {
  29. for(int k=; k<=n; k++)
  30. if( map[now][k] != INT_MAX && dis[now] + map[now][k] < dis[k] )
  31. dis[k] = dis[now] + map[now][k];
  32. int min = INT_MAX;
  33. for(int k=; k<=n; k++)
  34. if( dis[k] < min && !used[k] )
  35. min = dis[now = k];
  36. used[now] = ;
  37. }
  38. }
  39. int main()
  40. {
  41. int from,to,len,t;
  42. init();
  43. cin >> t >> n;
  44. pos = n;
  45. for(int i=; i<=t; i++)
  46. {
  47. cin >> from >> to >> len;
  48. if( len < map[from][to] )
  49. map[from][to] = map[to][from] = len;
  50. }
  51. Dijkstra();
  52. cout << dis[] << endl;
  53. return ;
  54. }
  55.  
  56. #include<iostream>
  57. using namespace std;
  58. #define MAX 1005
  59. const int oo=;
  60. int dist[MAX][MAX];
  61. int close[MAX];
  62. bool used[MAX];
  63. int main()
  64. {
  65. int N,T,i,j;
  66. int s,e,len;
  67. scanf("%d%d",&T,&N);
  68. memset(dist,0x7f,sizeof(dist));
  69. memset(used,false,sizeof(used));
  70. memset(close,0x7f,sizeof(close));
  71. for(i=;i<=T;i++)
  72. {
  73. scanf("%d%d%d",&s,&e,&len);
  74. if(dist[s][e]>len)
  75. dist[s][e]=dist[e][s]=len;
  76. }
  77. for(i=;i<=N;i++)
  78. {
  79. close[i]=dist[][i];
  80. }
  81. used[]=true;
  82. for(i=;i<=N;i++)
  83. {
  84. int min=;int mlen=oo;
  85. for(j=;j<=N;j++)
  86. {
  87. if(!used[j]&&close[j]<mlen)
  88. {
  89. min=j,mlen=close[j];
  90. }
  91. }
  92. used[min]=true;
  93. for(j=;j<=N;j++)
  94. {
  95. if(!used[j]&&dist[min][j]<oo)
  96. {
  97. int temp=dist[min][j]+close[min];
  98. if(temp<close[j])
  99. close[j]=temp;
  100. }
  101. }
  102. }
  103. printf("%d\n",close[N]);
  104. return ;
  105. }

【最短路】 poj 2387的更多相关文章

  1. 最短路 || POJ 2387 Til the Cows Come Home

    从点N到1的最短路 *记得无向图两个方向都要建边就好了…… 以及多组数据= = #include <iostream> #include <cstdio> #include & ...

  2. 链式前向星版DIjistra POJ 2387

    链式前向星 在做图论题的时候,偶然碰到了一个数据量很大的题目,用vector的邻接表直接超时,上网查了一下发现这道题数据很大,vector可定会超的,不会指针链表的我找到了链式前向星这个好东西,接下来 ...

  3. hdu 2544 hdu 1874 poj 2387 Dijkstra 模板题

    hdu 2544  求点1到点n的最短路  无向图 Sample Input2 1 //结点数 边数1 2 3 //u v w3 31 2 52 3 53 1 20 0 Sample Output32 ...

  4. POJ.2387 Til the Cows Come Home (SPFA)

    POJ.2387 Til the Cows Come Home (SPFA) 题意分析 首先给出T和N,T代表边的数量,N代表图中点的数量 图中边是双向边,并不清楚是否有重边,我按有重边写的. 直接跑 ...

  5. POJ 2387 Til the Cows Come Home (图论,最短路径)

    POJ 2387 Til the Cows Come Home (图论,最短路径) Description Bessie is out in the field and wants to get ba ...

  6. POJ 2387 Til the Cows Come Home(最短路模板)

    题目链接:http://poj.org/problem?id=2387 题意:有n个城市点,m条边,求n到1的最短路径.n<=1000; m<=2000 就是一个标准的最短路模板. #in ...

  7. POJ 2387 Til the Cows Come Home (最短路 dijkstra)

    Til the Cows Come Home 题目链接: http://acm.hust.edu.cn/vjudge/contest/66569#problem/A Description Bessi ...

  8. [ An Ac a Day ^_^ ] [kuangbin带你飞]专题四 最短路练习 POJ 2387 Til the Cows Come Home

    求1到N的最短路 注意有重边 跑一遍dijkstra就行 /* *********************************************** Author :Sun Yuefeng ...

  9. POJ 2387 Til the Cows Come Home 【最短路SPFA】

    Til the Cows Come Home Description Bessie is out in the field and wants to get back to the barn to g ...

  10. POJ - 2387 Til the Cows Come Home (最短路Dijkstra+优先队列)

    Bessie is out in the field and wants to get back to the barn to get as much sleep as possible before ...

随机推荐

  1. 1.Hibernate框架核心组件 (转自冯岩)

    Hibernate框架核心组件 在Hibernate框架简述中,演示了一个简单的Hibernate应用,但并没有深入说明其中程序,在这篇中将比较详细的介绍一下Hibernate的核心组件.首先最关键一 ...

  2. 如何理解CSS中的浮动 :其实他就像乘坐扶梯一样

    只要你用过自动扶梯,你就能很快的理解CSS中的浮动(Float). 你肯定遇到过这样的情况:       做好了,你想用CSS浮动来调整元素间的位置关系. 在写完代码之后,你发现浮动元素没出现在你设想 ...

  3. 《Intel汇编第5版》 汇编减法程序

    第一步: 安装虚拟机32位XP系统 + RadAsm软件 第二步:    下载<Intel汇编语言程序设计第5版>中相关的源代码以及库文件           http://kipirvi ...

  4. 再谈Java方法传参那些事

    把一个变量带进一个方法,该方法执行结束后,它的值有时会改变,有时不会改变.一开始会觉得--“好神奇呀”.当我们了解java内存分析的知识后,一切都是那么简单明了了--“哦,这么回事呀”.但是今天的上机 ...

  5. NOIP2014-普及组复赛-第三题-螺旋矩阵

    题目描述 Description 一个n行n列的螺旋矩阵可由如下方法生成: 从矩阵的左上角(第1行第1列)出发,初始时向右移动:如果前方是未曾经过的格子,则继续前进,否则右转:重复上述操作直至经过矩阵 ...

  6. redis高级实用特性(2)

    事务处理: redis对事务的支持目前还是比较简单,redis只能保证一个 client发起事务中的命令可以连续执行,而中间不会插入其他 client的命令,当一个client 在一个连接中发出mul ...

  7. SQL函数学习(一):substring()函数

    秒懂例子: substring('98765',-1,3) 结果:9 substring('98765',0,3) 结果:98 substring('98765',1,3) 结果:987 在操作sql ...

  8. python 实现excel转化成json文件

    1.准备工作 python 2.7 安装 安装xlrd -- pip install xlrd 2. 直接上代码 import xlrd from collections import Ordered ...

  9. VS2013程序打包部署详细图解

      目录(?)[+]   新建项目 FILE –> New –> Project,如下图所示:  注意:如果 InstallShield Limited Edition Project 显 ...

  10. Python中pip安装问题解决

    用国内镜像通过pip安装python的一些包,有时会出现安装失败, 为什么总是失败?自己操作老标准了,这么简单的几个小步骤还老是出错,不由得让我怀疑是否是撞墙了,可是又懒得买vpn去翻~~一墙,无法代 ...