Pagini recente » Cod sursa (job #1967935) | Cod sursa (job #1191170) | Cod sursa (job #1726602) | Cod sursa (job #1170796) | Cod sursa (job #1049200)
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
#define maxN 100005
vector <int> muchii[maxN];
bool viz[maxN];
void dfs(int root) {
viz[root] = true;
for(unsigned int i = 0; i < muchii[root].size(); ++i) {
int node = muchii[root][i];
if(viz[node])
continue;
dfs(node);
}
}
int main()
{
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
int N, M, x, y;
scanf("%d %d", &N, &M);
for(int i = 0; i < M; ++i) {
scanf("%d %d", &x, &y);
muchii[x].push_back(y);
muchii[y].push_back(x);
}
int compConex = 0;
for(int i = 1; i <= N; ++i) {
if(viz[i])
continue;
dfs(i);
compConex++;
}
printf("%d", compConex);
return 0;
}