[BOJ] 11724. 연결 요소의 개수
15 Apr 2026
Reading time ~1 minute
풀이
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main {
static boolean check[];
static int map[][];
static int N;
static int cnt;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
N=sc.nextInt();
int M=sc.nextInt();
map=new int [N+1][N+1];
check=new boolean [N+1];
for(int i=0;i<M;i++) {
int a=sc.nextInt();
int b=sc.nextInt();
map[a][b]=1;
map[b][a]=1;
}
for(int i=1;i<=N;i++) {
if(check[i]) continue;
bfs(i);
}
System.out.println(cnt);
}
public static void bfs(int st) {
cnt++;
Queue<Integer> q=new LinkedList<>();
q.add(st);
check[st]=true;
while(!q.isEmpty()) {
int cur=q.poll();
for(int i=1;i<=N;i++) {
if(!check[i]&&map[cur][i]==1) {
check[i]=true;
q.add(i);
}
}
}
}
}