본문 바로가기

백준/BFS & DFS

백준 24481 자바

반응형

 

 

import java.util.*;
import java.io.*;
public class Main {

    static int N,M,start;
    static int[] visit;
    static ArrayList<Integer>[] list;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

      StringTokenizer st = new StringTokenizer(br.readLine());

      N = Integer.parseInt(st.nextToken());
      M = Integer.parseInt(st.nextToken());
      start = Integer.parseInt(st.nextToken());

      list = new ArrayList[N+1];
      visit = new int[N+1];

        for (int i = 1; i <= N; i++) {
            list[i] = new ArrayList<>();
        }

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

            list[a].add(b);
            list[b].add(a);
        }

        for (int i = 1; i <= N; i++) {
            Collections.sort(list[i]);
        }

        Arrays.fill(visit,-1);
        visit[start] = 0;

        DFS(start,0);
        for (int i = 1; i <= N; i++) {
            System.out.println(visit[i]);
        }
    }
    static void DFS(int start, int depth) {
        visit[start] = depth;
        for (int i : list[start]) {
            if (visit[i] != -1) {
                continue;
            }
            DFS(i, depth+1);
        }
    }
}

반응형

'백준 > BFS & DFS' 카테고리의 다른 글

백준 24483 자바  (0) 2023.01.02
백준 24480 자바  (1) 2023.01.01
백준 24479 자바  (0) 2022.12.30
백준 11725 자바  (0) 2022.12.29
백준 11724 자바  (0) 2022.12.29