import java.util.ArrayList;
import java.util.Scanner;
public class Main {
static ArrayList<Integer>[] graph;
static int[] visited;
static int N, M;
public static void DFS(int c) {
if(visited[c] == 1) {
return;
}
visited[c] = 1;
for (int i : graph[c]) {
if (visited[i] == 0) {
DFS(i);
}
}
}
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
N = kb.nextInt();
M = kb.nextInt();
graph = new ArrayList[N+1];
visited = new int[N+1];
for (int i = 1; i <= N; i++) {
graph[i] = new ArrayList<>();
}
for(int i=0; i<M ; i++) {
int s = kb.nextInt();
int e = kb.nextInt();
// 무방향 그래프
graph[s].add(e);
graph[e].add(s);
}
int answer = 0;
for(int i=1; i<N+1; i++) {
if(visited[i] == 0) {
DFS(i);
answer++;
}
}
System.out.println(answer);
}
}
'공부기록 > 백준' 카테고리의 다른 글
[백준] 2407번 조합 (1) | 2024.02.03 |
---|---|
[백준] 2563번 색종이 (0) | 2024.01.31 |
[백준] 1789번 수들의 합 (1) | 2024.01.15 |
[백준] 5648번 역원소 정렬 (1) | 2024.01.15 |
[백준] 1406번 에디터 (1) | 2024.01.14 |