从第一个点出发,求到其他点最短路的最大值

#pragma warning(disable:4996)
#include<iostream>
#include<string>
#include<cmath>
#include<ctype.h>
#include<memory.h>
#include<string.h>
#include<algorithm>
#include<map>
#include<iomanip>
#include<set>
#include<list>
#include<vector>
#include<stack>
#include<queue>
#define ll long long int
using namespace std;
const int INF = 0x3f3f3f3f;
const int maxn = 200;int n;
int a[maxn][maxn];
int dis[maxn];
int vis[maxn];void dijkstra(int s)
{for (int i = 0; i <= n; i++)dis[i] = a[i][s];memset(vis, 0, sizeof(vis));vis[s] = 1;for (int i = 1; i <= n; i++){int Min = INF;int min_index = -1;for (int j = 1; j <= n; j++){if (Min > dis[j] && !vis[j]){Min = dis[j];min_index = j;}}if (min_index != -1)vis[min_index] = 1;for (int j = 1; j <= n; j++){if (dis[j] > dis[min_index] + a[min_index][j] && !vis[j])dis[j] = dis[min_index] + a[min_index][j];}}
}int main()
{cin >> n;//必须卸载前面,不然没办法初始化for (int i = 0; i <= n; i++)for (int j = 0; j <= n; j++)a[i][j] = i == j ? 0 : INF;memset(dis, 0, sizeof(dis));//cin >> n;//又写错地方了//输入的是下三角部分//也就是说,输入的第二行将包含一个条目a(2,1)。下一行将包含两个条目,一个(3,1)和一个(3,2),依此类推。for (int i = 2; i <= n; i++){for (int j = 1; j < i; j++){char str[50];cin >> str;if (str[0] != 'x'){int val = 0;//val是数字的值int t = 0;//t是下标while (str[t] != '\0'){val = val * 10 + (str[t] - '0');t++;}a[i][j] = a[j][i] = val;}}}dijkstra(1);//因为 题目说第一个处理器开始广播int ans = 0;for (int i = 1; i <= n; i++)ans = max(ans, dis[i]);cout << ans << endl;/*for (int i = 0; i <= n; i++)cout << dis[i] << " ";cout << endl << endl;*//*for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++)cout << a[i][j] << " ";cout << endl;}*/return 0;
}

poj 1502 MAPMaelstrom 单源最短路dijkstra相关推荐

  1. 【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 be ...

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

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

  3. NOWCODER 吃火锅(单源最短路dijkstra()算法)

    链接:https://ac.nowcoder.com/acm/problem/213225 来源:牛客网 题意: 有n个城市,m条双向道路. 第i条路线可用于从城市v[i]到城市u[i](以及从u[i ...

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

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

  5. 最短路问题之单源最短路-Dijkstra算法

    一个点(源点)到其余各个顶点的最短路径,叫做单源最短路经. 例如求下图中的1号顶点到2,3,4,5,6号顶点的最短路径. 使用二维数组e来存储顶点之间边的关系,初始值如下表. e 1 2 3 4 5 ...

  6. 单源最短路 dijkstra算法模板

    链接: 模板题 不能处理带负边权的情况 /* 邻接矩阵存图 1.从源点开始每次选取一个离点集距离最近的点t 添加到集合中 2.利用t点对集合中的点进行松弛操作,进行更新 时间复杂度o(n²) */ # ...

  7. 单源最短路和多源最短路

    目录 一. 迪杰斯特拉(Dijkstra,单源最短路) 特点: 二. 弗洛伊德(Floyd,多源最短路) 算法过程 特点 一. 迪杰斯特拉(Dijkstra,单源最短路) Dijkstra (迪杰斯特 ...

  8. CSP认证201609-4 交通规划[C++题解]:最短路径树、dijkstra求单源最短路、递推思想

    题目分析 来源:acwing 分析: 这题是最短路树.保持原图中所有点到根结点的最短距离不变,然后在原图中选择一些边,使所有点连通的最短路是多长. 最短路径树,是一种使用最短路径算法生成的数据结构树. ...

  9. 算法提高课-图论-单源最短路的综合应用-AcWing 1135. 新年好:dijkstra和dfs暴搜结合

    题目分析 来源:acwing 分析: 先预处理出从1,a,b,c,d,e出发到其他所有点的单源最短路.存在二维数组dist[6][N]中 dfs暴搜所有拜访顺序,共有5!种,对于每一种拜访顺序,可以通 ...

最新文章

  1. PHP date, strtotime, mktime处理
  2. kali linux获取root,kali linux 安装keybase 并使用root来运行keybase
  3. 百练OJ:1017:装箱问题
  4. 【NOIP2013】货车运输
  5. 121 Best Time to Buy and Sell Stock 买卖股票的最佳时机
  6. ssh: connect to host github.com port 22: Connection timed out
  7. java中的==、equals()、hashCode()源码分析
  8. 《数据库SQL实战》获取所有员工当前的manager
  9. linux 下删除文件夹(文件夹不为空时)
  10. 网络编程在线英英词典之登录模块实现(四)
  11. 2021-02-14马克思主义概论
  12. 开题报告中的研究现状怎么写?
  13. 算法 代码拷来终觉浅,绝知此事要躬行
  14. 华为:当丑小鸭变成黑天鹅?
  15. Hadoop Yarn 安装
  16. 如何用 C 语言写一个生日蛋糕?
  17. win10防火墙打不开,设置是灰色的、edge闪退、应用商店灰色等问题
  18. 从B 树、B+ 树、B* 树
  19. FFmpeg三大工具--ffplay
  20. 特斯拉AI Day:车企能造好机器人吗?

热门文章

  1. js模板引擎 之handlebars.js
  2. Codeforces Beta Round #8 C. Looking for Order 状压dp
  3. BZOJ 3304: [Shoi2005]带限制的最长公共子序列( LCS )
  4. UVa 1640 (计数) The Counting Problem
  5. mysql 表连接 on_MysQL中表连接中“using”和“on”之间的区别是什么?
  6. 递归——幂次方(洛谷 P1010)
  7. 明晚直播预告丨Oracle 19c避雷经验分享
  8. Oracle DBA的SQL编写技能提升宝典(含SQL资源)
  9. Oracle统计信息中的Pending Statistics
  10. “王者对战”之 MySQL 8 vs PostgreSQL 10