본문 바로가기
JAVA

[백준/자바] 11724번 연결 요소의 개수

by 동백05 2022. 3. 23.

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

 

11724번: 연결 요소의 개수

첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주

www.acmicpc.net

 

import java.util.ArrayList;
import java.util.Scanner;
public class March23_2 {
    public static ArrayList<ArrayList<Integer>> graph=new ArrayList<ArrayList<Integer>>();
    public static boolean[] isVisited;

    public static void dfs(int a){
        isVisited[a]=true;
        for(int i=0;i<graph.get(a).size();i++){
            int b=graph.get(a).get(i);
            if(!isVisited[b]){
                dfs(b);
            }
        }
    }
    public static void main(String[] args){
        Scanner s=new Scanner(System.in);
        int node=s.nextInt();
        int network=s.nextInt();
        for(int i=0;i<node+1;i++){
            graph.add(new ArrayList<Integer>());
        }

        isVisited=new boolean[node+1];

        for(int i=0;i<network;i++){
            int a=s.nextInt();
            int b=s.nextInt();
            graph.get(a).add(b);
            graph.get(b).add(a);
        }

        int count=0;
        for(int i=1;i<node+1;i++){
            if(!isVisited[i]){
                count++;
                dfs(i);
            }

        }
        System.out.println(count);

    }
}

'JAVA' 카테고리의 다른 글

[백준] 17202번 핸드폰 번호 궁합  (0) 2023.06.20
자바의 정석 1일차 : 1~5장  (0) 2023.06.19
[백준/자바] 1012번 유기농 배추  (0) 2022.03.23
[백준/자바] 2606번 바이러스  (0) 2022.03.21
[백준/자바] 1475번 방 번호  (0) 2022.03.16

댓글