백준

백준 11403 - Java

으엉어엉 2024. 11. 13. 09:40
728x90

import java.io.*;

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

        // 입력을 배열로 저장
        for (int i = 0; i < N; i++) {
            String[] line = br.readLine().split(" ");  // 공백을 기준으로 분리
            for (int j = 0; j < N; j++) {
                arr[i][j] = Integer.parseInt(line[j]);  // 배열에 숫자 저장
            }
        }

        // 플로이드-워셜 알고리즘
        for (int k = 0; k < N; k++) {
            for (int i = 0; i < N; i++) {
                for (int j = 0; j < N; j++) {
                    if (arr[i][k] == 1 && arr[k][j] == 1) {
                        arr[i][j] = 1;
                    }
                }
            }
        }

        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < N; j++) {
                sb.append(arr[i][j]).append(" ");
            }
            sb.append("\n");
        }
        System.out.print(sb);
    }
}

 

가장 기본적은 플로이드 워셜 알고리즘이라는데 벌써부터 버겁긴 하다... 알고리즘을 언어로 구현하는 것에 대한 노력을 열심히 정진해야겠다

728x90

'백준' 카테고리의 다른 글

백준 11054 - java  (1) 2024.11.15
백준 2110 - Java  (0) 2024.11.14
백준 3085 - Java  (0) 2024.11.12
백준 2309 - Java  (0) 2024.11.11
백준1475 - Java  (0) 2024.11.10