很裸的最短路径问题,这里用Dijkstra做的,前边已经写过Floyd和SPFA算法

SPFA:http://www.cnblogs.com/vongang/archive/2011/08/16/2141334.html

Floyd:http://www.cnblogs.com/vongang/archive/2011/08/16/2141019.html

My Code:

#include <iostream>#include <cstring>#include <cstdio>using namespace std;

const int maxnum = 107;const int inf = 999999;

int dist[maxnum];int map[maxnum][maxnum];int vis[maxnum];int n, m;

void Dijkstra(){int i, j;    memset(vis, 0, sizeof(vis));for(i = 1; i <= n; i++)    {        dist[i] = map[1][i];        vis[i] = 0;    }    dist[1] = 0;    vis[1] = 1;for(i = 2; i <= n; i++)    {int flag, min = inf;for(j = 1; j <= n; j++)if(!vis[j] && dist[j] < min)            {                flag = j;                min = dist[j];            }        vis[flag] = 1;for(j = 1; j <= n; j++)if(!vis[j] && map[flag][j] < inf)            {int newdist = dist[flag] + map[flag][j];if(newdist < dist[j])                    dist[j] = newdist;            }    }}int main(){//freopen("data.in", "r", stdin);    int i, j, a, b, c;while(scanf("%d%d", &n, &m), n||m)    {for(i = 1; i <= n; i++)for(j = 1; j <= n; j++)                map[i][j] = inf;while(m--)        {            scanf("%d%d%d", &a, &b, &c);if(c < map[a][b])                map[a][b] = map[b][a] = c;        }        Dijkstra();        printf("%d\n", dist[n]);    }return 0;}

转载于:https://www.cnblogs.com/vongang/archive/2011/08/16/2141446.html

HDU_2544 最短路(Dijkstra)相关推荐

  1. 图论-最短路Dijkstra算法详解超详 有图解

    整体来看dij就是从起点开始扩散致整个图的过程,为什么说他稳定呢,是因为他每次迭代,都能得到至少一个结点的最短路.(不像SPFA,玄学复杂度) 但是他的缺点就是不能处理带负权值的边,和代码量稍稍复杂. ...

  2. 单源最短路 Dijkstra算法 和 SPFA算法

    单源最短路 •从一个点出发,到达其他顶点的最短路径的长度. •基本操作:松弛 •d[u]+map[u, v]< d[v]这样的边(u,v)称为紧的(tense),可以对它进行松弛(relax): ...

  3. 最短路 dijkstra模板

    最短路 dijkstra模板 #pragma warning(disable:4996) #include<iostream> #include<string> #includ ...

  4. HDOJ 2112 HDU Today (最短路 Dijkstra SPFA)

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. Til the Cows Come Home(最短路-Dijkstra)

    Til the Cows Come Home(最短路-Dijkstra) judge:https://vjudge.net/contest/297882#problem/A Time limit:10 ...

  6. Codeforces.1051F.The Shortest Statement(最短路Dijkstra)

    题目链接 先随便建一棵树. 如果两个点(u,v)不经过非树边,它们的dis可以直接算. 如果两个点经过非树边呢?即它们一定要经过该边的两个端点,可以直接用这两个点到 u,v 的最短路更新答案. 所以枚 ...

  7. HDU 2066-一个人的旅行(最短路Dijkstra)

    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  8. 单源最短路——dijkstra算法

    Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止. 问 ...

  9. 算法提高课-图论-单源最短路的综合应用-AcWing 342. 道路与航线:最短路dijkstra、拓扑排序 、综合题、好题

    题目分析 来源:acwing 分析: 道路:双向,边权非负, 航线:单向,边权可正可负,且无环. 根据题意,点可以分为很多团(连通块),团内部只有道路(道路是双向的,而且是连通的,所以不能存在航线,否 ...

最新文章

  1. opensuse安装nginx
  2. 运维企业专题(5)LVS高可用与负载均衡中篇——VS/DR模式配置详解
  3. 存储格式之大端小端详解
  4. 使用 Ant 自动生成项目构建版本
  5. 渗透知识- Windows系统目录、服务、端口、注册表
  6. Object-c学习之路二(oc内存管理黄金法则1)
  7. WebService(1)名词了解
  8. linux配置临时IP和永久IP
  9. 一、从Windows消息机制说起
  10. python使用xlrd模块读写excel
  11. multi mysql_mysqld_multi 的使用方法
  12. 程序是怎样跑起来的:第一章-对程序员来说CPU是什么
  13. [SCOI2005][BZOJ1085] 骑士精神
  14. 如何在Mac上控制对日历的访问?
  15. 一个软件工程师在北京的反省
  16. 简述deque容器的插入删除原理
  17. 大数据调度工具之Oozie
  18. 火狐一键检测自己的邮箱是否被泄露信息 输入邮箱即可查看是否安全
  19. 百度地图根据缩放级别显示不同的marker点和窗口内容
  20. TortoiseGit拉取gitee代码

热门文章

  1. iptables基础篇
  2. ubuntu下google浏览器(chromium)flash插件安装
  3. Quartz2D简单绘制之不规则形状
  4. Android Launcher 分析
  5. android SharedPreferences的使用优化
  6. Python中collections模块
  7. linux解压war包的命令
  8. Django-5.1 模型层 单表操作
  9. HDU 4635 Strongly connected
  10. JSTL(JSP Standard Tag Library)读书笔记