Skip to content

Commit 5e97feb

Browse files
committed
BOJ_11404 : 플로이드
1 parent 161937a commit 5e97feb

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

week7/BOJ_11404(플로이드).java

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import java.io.*;
2+
import java.util.*;
3+
4+
public class Main {
5+
6+
public static final int MAX = 10_000_001;
7+
8+
public static void main(String[] args) throws IOException {
9+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
10+
int n = Integer.parseInt(br.readLine());
11+
int m = Integer.parseInt(br.readLine());
12+
int[][] graph = new int[n+1][n+1];
13+
for(int i=1; i<=n; i++) {
14+
for(int j=1; j<=n; j++) {
15+
if(i == j) {
16+
graph[i][j] = 0;
17+
}else {
18+
graph[i][j] = MAX;
19+
}
20+
}
21+
}
22+
for(int i=0; i<m; i++) {
23+
StringTokenizer st = new StringTokenizer(br.readLine());
24+
int a = Integer.parseInt(st.nextToken());
25+
int b = Integer.parseInt(st.nextToken());
26+
int c = Integer.parseInt(st.nextToken());
27+
graph[a][b] = Math.min(graph[a][b], c);
28+
}
29+
for(int k=1; k<=n; k++) {
30+
for(int i=1; i<=n; i++) {
31+
for(int j=1; j<=n; j++) {
32+
graph[i][j] = Math.min(graph[i][j], graph[i][k] + graph[k][j]);
33+
}
34+
}
35+
}
36+
StringBuffer sb = new StringBuffer();
37+
for(int i=1; i<=n; i++) {
38+
for(int j=1; j<=n; j++) {
39+
sb.append((graph[i][j] == MAX) ? 0 : graph[i][j]).append(' ');
40+
}
41+
sb.append('\n');
42+
}
43+
System.out.print(sb);
44+
}
45+
}

0 commit comments

Comments
 (0)