백준 11724 연결 요소의 개수


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// 10분
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
 
int n, m;
int map[1001][1001];
bool check[1001];
 
void dfs(int node) {
    check[node] = true;
    for (int i = 1; i <= n; i++) {
        if (!check[i] && map[node][i]) {
            dfs(i);
        }
    }
}
 
int solve() {
    int cnt = 0;
    for (int i = 1; i <= n; i++) {
        if (!check[i]) {
            dfs(i);
            cnt++;
        }
    }
    return cnt;
}
 
int main() {
    scanf("%d %d"&n, &m);
    for (int i = 0; i < m; i++) {
        int u, v;
        scanf("%d %d"&u, &v);
        map[u][v] = 1;
        map[v][u] = 1;
    }
    printf("%d\n", solve());
    return 0;
}
 

cs



dfs 기본 문제.

'Algorithm' 카테고리의 다른 글

백준 11404 플로이드  (0) 2018.05.17
백준 2468 안전 영역  (0) 2018.05.17
백준 2667 단지번호붙이기  (0) 2018.05.17
백준 1012 유기농 배추  (0) 2018.05.17
백준 2583 영역 구하기  (0) 2018.05.17
더보기

댓글,

jayharvey

머신러닝/딥러닝 관련 글을 포스팅할 예정입니다 :)