From 213502700d1b1135c608b0dfd0c086b10a878d78 Mon Sep 17 00:00:00 2001 From: JHLEE325 <82587652+JHLEE325@users.noreply.github.com> Date: Thu, 16 Oct 2025 08:26:01 +0900 Subject: [PATCH] =?UTF-8?q?[20251016]=20BOJ=20/=20G3=20/=20=EB=B0=B1?= =?UTF-8?q?=EC=96=91=EB=A1=9C=20=EB=B8=8C=EB=A0=88=EC=9D=B4=ED=81=AC=20/?= =?UTF-8?q?=20=EC=9D=B4=EC=A4=80=ED=9D=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...14\353\240\210\354\235\264\355\201\254.md" | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 "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" 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()); + } +} +```