Pagini recente » Cod sursa (job #1845719) | Cod sursa (job #872540) | Cod sursa (job #1465438) | Cod sursa (job #1783634) | Cod sursa (job #2850190)
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
vector<vector<int>> G;
vector<bool> visited;
int N, M;
void fillgraf(int node) {
if(!visited[node]) {
visited[node] = true;
for(auto x : G[node]) {
fillgraf(x);
}
}
}
int main()
{
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
cin >> N >> M;
G.resize(N + 1);
visited.resize(N + 1);
for(int i = 1; i <= M; i++) {
int x, y;
cin >> x >> y;
G[x].push_back(y);
G[y].push_back(x);
}
int S = 0;
for(int i = 1; i <= N; i++) {
if(!visited[i]) {
fillgraf(i);
S++;
}
}
cout << S;
}