转自 https://blog.csdn.net/shuangde800/article/details/7985085
题目大意:
从a点到b点, 找到一条路径,使得这条路径上的所有噪音中最大的值是所有路径中最小的, 这个噪音值便是要求的。
分析与总结:
用floyd是找出所有路径中长度最小的,只需要稍微变形一下,便可求得答案。
除了用这个方法,还可以用Kruskal算法,按照Kruskal算法的步骤,一条边一条边的加入树中,每加入一次,就判断所有要问的起点和终点是否已经连通, 一旦有连通的,那么那条路径中的最大值便是当前加入的这条边的权值,因为加入的边是按照从小到大顺序加入的。
#include
#include
#include
const int N = 105;
const int INF = 1000000000;
using namespace std;
int d[N][N], n, m, Q;
inline void read_graph(){
for(int i=1; i