-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy path2372.cpp
52 lines (46 loc) · 967 Bytes
/
2372.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/*
graphs > shortest path > all-pairs
difficulty: easy
date: 25/Oct/2019
by: @brpapa
*/
#include <iostream>
#include <vector>
#define INF 214748364
#define MAX_V 110
using namespace std;
int V, E;
int c[MAX_V][MAX_V]; // custo da aresta (i, j)
void init() {
for (int i = 0; i < V; i++) {
for (int j = 0; j < V; j++)
c[i][j] = INF;
c[i][i] = 0;
}
}
void floyd() {
for (int k = 0; k < V; k++)
for (int i = 0; i < V; i++)
for (int j = 0; j < V; j++)
c[i][j] = min(c[i][j], c[i][k] + c[k][j]);
}
int main() {
cin >> V >> E;
init();
int v1, v2, w;
for (int e = 0; e < E; e++) {
cin >> v1 >> v2 >> w;
c[v1][v2] = w;
c[v2][v1] = w;
}
floyd();
int minn = INF;
for (int i = 0; i < V; i++) {
int maxx = -INF;
for (int j = 0; j < V; j++)
maxx = max(maxx, c[i][j]);
minn = min(minn, maxx);
}
cout << minn << endl;
return 0;
}