[洛谷]P3371 单源最短路径模板 Dijkstra
来源:互联网 发布:好听的网络名字 男孩 编辑:程序博客网 时间:2024/05/16 01:19
#include#include #define MAXN 10021#define INF 0x7fffffffusing namespace std;struct Edge { int succ, value, next;};int n, m, s, t, flag;int h[MAXN], vis[MAXN], dist[MAXN];Edge graph[1000021];int main() { scanf("%d%d%d", &n, &m, &s);//读入,n为点数,m为边数,s为起点 flag = n;//用于记录扩展次数的变量 for (int i=1; i<=m; i++) { int a, b, c; scanf("%d%d%d", &a, &b, &c); graph[++t] = {b, c, h[a]}; h[a] = t; } //读图 fill(dist+1, dist+n+1, INF);//赋各点到起点的距离为无穷大 dist[s] = 0; while (flag--) { int mini = INF, num = 0; for (int i=1; i<=n; i++) if (!vis[i]) { num = dist[i] < mini ? i : num; mini = min(mini, dist[i]); }//找到还没被访问的与s距离最小的点num vis[num] = 1;//将num扩展进集合 for (int i=h[num]; i; i=graph[i].next) dist[graph[i].succ] = min(dist[graph[i].succ], dist[num] + graph[i].value); }//对num的所有邻居更新dist for (int i=1; i<=n; i++) printf("%d ", dist[i]);//输出 puts("");//个人习惯,输出一个换行符,不写一样 return 0;}
阅读全文
0 0
- [洛谷]P3371 单源最短路径模板 Dijkstra
- 洛谷 P3371 【模板】单源最短路径(Dijkstra + 堆优化)
- 洛谷 P3371 【模板】单源最短路径
- 洛谷 P3371 【模板】单源最短路径
- 洛谷 P3371 【模板】单源最短路径
- 洛谷 P3371 【模板】单源最短路径
- 洛谷P3371 【模板】单源最短路径
- 洛谷P3371【模板】单源最短路径
- 洛谷 P3371 【模板】单源最短路径
- 洛谷 P3371 【模板】单源最短路径
- 洛谷P3371 【模板】单源最短路径
- P3371 【模板】单源最短路径
- P3371 【模板】单源最短路径
- P3371 【模板】单源最短路径
- P3371 【模板】单源最短路径 SPFA优化 dijkstra堆优化
- 洛谷 P3371 【模板SPFA】单源最短路径
- [洛谷]P3371 单源最短路径模板 SPFA
- [洛谷]P3371 单源最短路径模板-bell
- 利用GitHubPages+jekyll+Markdown搭建个人博客
- Divide Two Integers
- jdbc 数据库配置util 及 Properties 设置方法
- 监听器和过滤器写的分类统计IP访问次数
- 数据结构之链表面试题汇总(四)得到两个单链表相交的第一个交点、用O(1)的时间效率删除单向链表中的指定节点
- [洛谷]P3371 单源最短路径模板 Dijkstra
- 初识Jsoup之解析HTML
- 比赛注意事项
- java.lang.NoSuchFieldError: INSTANCE
- 动态规划的理解与案例分析
- On Error Resume Next
- 关键词抽取(keywords extraction)的相关研究
- cookie和session的区别
- 4.3 填空题