File tree Expand file tree Collapse file tree 1 file changed +52
-0
lines changed
Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.io.* ;
3+ import java.util.* ;
4+
5+ public class Main {
6+
7+ static final int INF = 987654321 ;
8+
9+ public static void main (String [] args ) throws IOException {
10+ BufferedReader br = new BufferedReader (new InputStreamReader (System . in));
11+ StringTokenizer st = new StringTokenizer (br. readLine());
12+
13+ int v = Integer . parseInt(st. nextToken());
14+ int e = Integer . parseInt(st. nextToken());
15+
16+ int [][] map = new int [v][v];
17+
18+ for (int i = 0 ; i < v; i++ ) {
19+ Arrays . fill(map[i], INF );
20+ }
21+
22+ for (int i = 0 ; i < e; i++ ) {
23+ st = new StringTokenizer (br. readLine());
24+ int s = Integer . parseInt(st. nextToken()) - 1 ;
25+ int d = Integer . parseInt(st. nextToken()) - 1 ;
26+ int c = Integer . parseInt(st. nextToken());
27+
28+ map[s][d] = c;
29+ }
30+
31+ for (int k = 0 ; k < v; k++ ) {
32+ for (int i = 0 ; i < v; i++ ) {
33+ for (int j = 0 ; j < v; j++ ) {
34+ map[i][j] = Math . min(map[i][j], map[i][k] + map[k][j]);
35+ }
36+ }
37+ }
38+ int res = INF ;
39+ for (int i = 0 ; i < v; i++ ) {
40+ for (int j = 0 ; j < v; j++ ) {
41+ res = Math . min(res, map[i][j] + map[j][i]);
42+ }
43+ }
44+
45+ if (res == INF ) {
46+ System . out. println(- 1 );
47+ } else {
48+ System . out. println(res);
49+ }
50+ }
51+ }
52+ ```
You can’t perform that action at this time.
0 commit comments