PS

백준 BOJ 11724 C++ [연결 요소의 개수]

firsthg 2026. 4. 27. 14:31
#include <bits/stdc++.h>
using namespace std;

int n, m, cnt;
vector<int> adj[1001];
bool visited[1001];

void dfs(int node) {
    visited[node] = true;
    for (auto next_node : adj[node]) {
        if (!visited[next_node]) {
            dfs(next_node);
        }
    }
}

void solve() {
    cin >> n >> m;
    for (int i = 0; i < m; ++i) {
        int u, v;
        cin >> u >> v;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    for (int i = 1; i <= n; ++i) {
        if (!visited[i]) {
            cnt++;
            dfs(i);
        }
    }
    cout << cnt << '\n';
}

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    solve();
    return 0;
}