diff --git "a/JHLEE325/202510/16 BOJ G3 \353\260\261\354\226\221\353\241\234 \353\270\214\353\240\210\354\235\264\355\201\254.md" "b/JHLEE325/202510/16 BOJ G3 \353\260\261\354\226\221\353\241\234 \353\270\214\353\240\210\354\235\264\355\201\254.md" new file mode 100644 index 00000000..81f37b79 --- /dev/null +++ "b/JHLEE325/202510/16 BOJ G3 \353\260\261\354\226\221\353\241\234 \353\270\214\353\240\210\354\235\264\355\201\254.md" @@ -0,0 +1,59 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + + static final int INF = 987654321; + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st; + StringBuilder sb = new StringBuilder(); + + st = new StringTokenizer(br.readLine()); + int n = Integer.parseInt(st.nextToken()); + int m = Integer.parseInt(st.nextToken()); + + int[][] map = new int[n + 1][n + 1]; + + for (int i = 1; i <= n; i++) { + Arrays.fill(map[i], INF); + map[i][i] = 0; + } + + for (int i = 0; i < m; i++) { + st = new StringTokenizer(br.readLine()); + int u = Integer.parseInt(st.nextToken()); + int v = Integer.parseInt(st.nextToken()); + int b = Integer.parseInt(st.nextToken()); + + map[u][v] = 0; + + if (b == 1) map[v][u] = 0; + else map[v][u] = 1; + } + + for (int k = 1; k <= n; k++) { + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= n; j++) { + if (map[i][j] > map[i][k] + map[k][j]) { + map[i][j] = map[i][k] + map[k][j]; + } + } + } + } + + int k = Integer.parseInt(br.readLine()); + + for (int i = 0; i < k; i++) { + st = new StringTokenizer(br.readLine()); + int s = Integer.parseInt(st.nextToken()); + int e = Integer.parseInt(st.nextToken()); + sb.append(map[s][e]).append('\n'); + } + + System.out.print(sb.toString()); + } +} +```