Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

도누쓰코딩죽이기

[백준] 11403 경로 찾기 본문

알고리즘CPR

[백준] 11403 경로 찾기

차도누 2020. 8. 4. 22:39

알고리즘 심폐소생 2번째 문제

문제

https://www.acmicpc.net/problem/11403

코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

// 1<= N<= 100
public class Main_11403_경로찾기 {
    static int N;
    static int[][] map;
    static int[][] result;
    static boolean[] visited; // 방문체크

    public static void main(String[] args) throws Exception {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = null;

        N = Integer.parseInt(in.readLine());
        map = new int[N][N];
        result = new int[N][N];
        visited = new boolean[N];

        for (int i = 0; i < N; i++) {
            st = new StringTokenizer(in.readLine());
            for (int j = 0; j < N; j++) {
                map[i][j] = Integer.parseInt(st.nextToken());
            }
        }
        // 입력 끄읏

        // 이제 dfs 돌려야 하는데
        // 1. 요건 방향 그래프임!
        // 2. 다 가봐야함
        // 3. 출력 그래프를 0으로 세팅해 놓고 시작하는게 좋을 듯?
        for (int i = 0; i < N; i++) {
            dfs(i, i);
        }

        // 여기부터 출력 부분
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < N; j++) {
                sb.append(result[i][j] + " ");
            }
            sb.append("\n");
        }

        System.out.println(sb.toString());
    }

    private static void dfs(int cur, int init) {
        for (int i = 0; i < N; i++) {
            if (map[cur][i] == 1 && result[init][i] != 1) {
                result[init][i] = 1;
                dfs(i, init);
            }
        }
    }


}

Review

흠.. 시간 내에 못풀었다. 결과는 동일했지만 시간초과가 나서 고생했음.
요것도 되게 많이 봤던 유형인데 막상 풀어보니 안풀림ㅠ
민섭이가 손봐준 덕분에 2중 for문을 2개나 단일for문으로 바꿀 수 있었다..
갈 길이 멀도다~

'알고리즘CPR' 카테고리의 다른 글

[백준] 2606 바이러스  (0) 2020.08.15
[백준] 14502 연구소  (0) 2020.08.08
[백준] 2178 미로 탐색  (0) 2020.08.08
[백준] 6603 로또  (1) 2020.08.02
알고리즘 심폐소생 시작  (0) 2020.08.02