Pagini recente » Cod sursa (job #2283558) | Cod sursa (job #2808974) | Cod sursa (job #1489933) | Cod sursa (job #1775374) | Cod sursa (job #2041884)
#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
const int MAXN= (int) 1e5;
vector <int> g[MAXN+1];
char viz[MAXN];
void dfs(int nod){
viz[nod]=1;
for(int i=0; i<g[nod].size(); i++){
int it=g[nod][i];
if(viz[it]==0)
dfs(it);
}
}
int main(){
FILE*fin=fopen("dfs.in", "r");
FILE*fout=fopen("dfs.out", "w");
int n, m, i, x, y, cnt;
ios::sync_with_stdio(false);
fscanf(fin, "%d%d", &n, &m);
for(i = 1; i <= m; i++) {
fscanf(fin, "%d%d", &x, &y);
g[x].push_back(y);
g[y].push_back(x);
}
cnt=0;
for(i=1; i<=n; i++){
// printf("%d %d %d %d %d %d\n", viz[1], viz[2], viz[3], viz[4], viz[5], viz[6]);
if(viz[i]==0){
cnt++;
dfs(i);
}
}
fprintf(fout, "%d", cnt);
return 0;
}