图之多源最短路 哈利波特的考试
2018-04-11 21:09
127 查看
floyd算法#include<stdio.h>
#include<stdlib.h>
#include <string.h>
#include <string>
#include <iostream>
#include <stack>
#include <math.h>
#include <algorithm>
#include <iomanip>
#include <vector>
#include <map>
using namespace std;
#define IN 65535
int G[105][105];
int main()
{
int N,M;
cin>>N>>M;
memset(G,0,sizeof(G));
for(int i=1;i<=M;i++)
{
int a,b,c;
cin >> a >> b >> c;
G[a][b] = c;
G[b][a] = c;
}
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
{
if(G[i][j]==0)
G[i][j]=IN;
}
for(int k=1;k<=N;k++)
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
{
if(G[i][j]>G[i][k]+G[k][j])
{
G[i][j] = G[i][k]+G[k][j];
}
}
int Maxdis[N+1];
memset(Maxdis,0,sizeof(Maxdis));
for(int i=1;i<=N;i++)
{
int Max=0;
for(int j=1;j<=N;j++)
{
if(j!=i)
{
if(G[i][j]>Max)
Max=G[i][j];
}
else
continue;
}
Maxdis[i]=Max;
}
int Min=IN,MinNUM=1;
for(int i=1;i<=N;i++)
{
if(Maxdis[i]<Min)
{
Min=Maxdis[i];
MinNUM=i;
}
}
if(Min!=IN)
printf("%d %d\n",MinNUM,Min);
else
printf("0\n");
return 0;
}
相关文章推荐
- (多源最短路)哈利·波特的考试
- FLOYD 多源最短路
- 多源最短路
- 多源最短路(Floyd算法)
- hdu 2066 一个人的旅行 (多源最短路 )
- hdu 3631 多源最短路
- 【codevs 1077】多源最短路
- 【最短路(动态规划)】CODE[VS] 1077 多源最短路 (Floyed模板)
- 多源最短路->Floyd算法
- CodeVS1077 多源最短路 解题报告【SPFA】
- poj 2391 二分+多源最短路+最大流
- POJ Stockbroker Grapevine 1125 多源最短路(Floyd)
- poj 2066 一个人的旅行(多源最短路)
- hdu 2066 一个人的旅行 (多源最短路 Floyd)
- 多源最短路
- HDU 2066 多源最短路
- T1077 多源最短路 codevs
- 1072. Gas Station (30) 多源最短路
- UVa:10803 Thunder Mountain(floyd求多源最短路)
- HDU 2145 zz's Mysterious Present 【多源单汇 + 反向建图最短路转换】