쵼쥬 2021. 12. 24. 17:49


내 코드

package com.company;

import java.io.*;
import java.util.*;

public class Main {
    static int M, N;
    static int[][] arr;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        N = Integer.parseInt(br.readLine());
        M = Integer.parseInt(br.readLine());
        arr = new int[N + 1][N + 1];

        StringTokenizer st = null;

        for (int i = 0; i < M; i++) {
            st = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());
            int c = Integer.parseInt(st.nextToken());

            if (arr[a][b] != 0)
                arr[a][b] = Math.min(arr[a][b], c);
            else
                arr[a][b] = c;
        }

        for (int k = 1; k <= N; k++) {
            for (int i = 1; i <= N; i++) {
                for (int j = 1; j <= N; j++) {
                    if (i == j)
                        continue;

                    if (arr[i][k] != 0 && arr[k][j] != 0) {
                        if (arr[i][j] == 0)
                            arr[i][j] = arr[i][k] + arr[k][j];
                        else
                            arr[i][j] = Math.min(arr[i][k] + arr[k][j], arr[i][j]);

                    }
                }
            }
        }

        for (int i = 1; i <= N; i++) {
            for (int j = 1; j <= N; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }

    }
}