Pagini recente » Cod sursa (job #1962024) | Cod sursa (job #1356890) | Cod sursa (job #881444) | Cod sursa (job #943967) | Cod sursa (job #1435897)
#include <iostream>
#include <vector>
#include <cstdio>
#define MAXN 100005
using namespace std;
int n, m;
vector< vector<int> > a(MAXN);
int viz[MAXN];
void citire() {
int x, y;
scanf("%d %d", &n, &m);
for(int i = 0; i < m; i++) { // citeste muchii
scanf("%d %d", &x, &y);
a[x].push_back(y);
a[y].push_back(x);
}
}
void dfs(int i) {
viz[i] = 1;
for(int j = 0; j < a[i].size(); j++)
if(viz[a[i][j]] == 0)
dfs(a[i][j]);
}
int componente_conexe() {
int nr = 0;
for(int i = 1; i <= n; i++) {
if(viz[i] == 0) {
dfs(i);
nr++;
}
}
return nr;
}
int main()
{
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
citire();
printf("%d\n", componente_conexe());
return 0;
}