Pagini recente » Cod sursa (job #1936630) | Cod sursa (job #2499255) | Cod sursa (job #1103708) | Cod sursa (job #654040) | Cod sursa (job #1189337)
#include<cstdio>
#include<vector>
using namespace std;
vector<int> a[100001];
int i, n, m, x, y, cnt;
bool viz[100001];
void dfs(int poz){
vector<int>::iterator it;
viz[poz]=true;
for (it=a[poz].begin();it!=a[poz].end();it++)
if (viz[*it]==false) dfs(*it);
}
int main(){
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d%d", &n, &m);
for (i=1;i<=m;i++) {
scanf("%d%d", &x, &y);
a[x].push_back(y);
a[y].push_back(x);
}
for (i=1;i<=n;i++)
if (!viz[i]) {cnt++; dfs(i);}
printf("%d\n", cnt);
return 0;
}