반응형
출처: http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1136&sca=4050
Approach
#include <stdio.h>
const int LM = 50005;
int N, M, group[LM], ans;
int find(int n) {
if (group[n] == n) return n;
group[n] = find(group[n]);
return group[n];
}
int main() {
// freopen("input.txt", "r", stdin);
int u, v;
scanf("%d %d", &N, &M);
ans = N;
for (int i = 1; i <= N; ++i)
group[i] = i;
for (int i = 0; i < M; ++i) {
scanf("%d %d", &u, &v);
u = find(u), v = find(v);
if (u == v) continue;
ans--;
group[v] = u;
}
printf("%d\n", ans);
}
반응형
'PS 문제 풀이 > Jungol' 카테고리의 다른 글
[Jungol] 정올 2586 자동분무기(중) (0) | 2021.05.16 |
---|---|
[Jungol] 정올 2223 블랙홀 (0) | 2021.04.03 |
[Jungol] 정올 1516 단어세기 (0) | 2021.03.18 |
[Jungol] 정올 1264 마법색종이 (0) | 2021.03.18 |
[Jungol] 정올 4320 이진탐색 트리 (binary search tree) 2 (0) | 2021.03.18 |
댓글