Roel Notebook

[Java] 백준 11724 연결된 요소의 개수

by Roel Downey
728x90
반응형

백준 11724 연결된 요소의 개수

 

 

문제 

- 문제 링크: 백준 11724 연결된 요소의 개수

 

 

 

풀이

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

class Main {
    static boolean[][] graph;
    static boolean[] visited;
    static int n,m;
    static int answer;

    static void dfs(int idx) {
       visited[idx] = true;

       for (int num =1; num <=n; num++) {
           if(!visited[num] && graph[idx][num])
               dfs(num);
       }

    }

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        StringTokenizer st = new StringTokenizer(br.readLine());
        n = Integer.parseInt(st.nextToken());
        m = Integer.parseInt(st.nextToken());

        graph = new boolean[n+1][n+1];
        visited = new boolean[n+1];
        visited[0] = true;

        for(int i=0; i<m; i++) {
            st = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());
            graph[a][b] = true;
            graph[b][a] = true;
        }
        for(int j=0; j<n+1; j++) {
            if(visited[j]) {
                continue;
            }
            dfs(j);
            answer++;
        }
        bw.write(String.valueOf(answer));

        br.close();
        bw.close();
    }
}



728x90
반응형

'알고리즘_자료구조 > 문제풀이' 카테고리의 다른 글

[Java] 백준 2606 바이러스  (0) 2023.10.26
[Java] 대 소문자 변환  (0) 2022.03.14
[Java] 문자 찾기  (0) 2022.03.14
[Java] 두 개 뽑아서 더하기  (0) 2020.09.22
[Java] 크레인 인형뽑기 게임  (0) 2020.09.22

블로그의 정보

What doing?

Roel Downey

활동하기