Pagini recente » Cod sursa (job #14557) | Cod sursa (job #713936) | Cod sursa (job #1732465) | Cod sursa (job #3203471) | Cod sursa (job #1883603)
#include<stdio.h>
#include<stdlib.h>
#include<vector>
using namespace std;
vector <int> v[100000];
char viz[100000];
void dfs(int nod,int n){
int i;
viz[nod]=1;
for(i=0;(unsigned int)i<v[nod].size();i++)
if(viz[v[nod][i]]!=1)
dfs(v[nod][i],n);
}
int main()
{
FILE*fin,*fout;
int n,suma=0,m,i,a,b;
fin = fopen("dfs.in" ,"r");
fout = fopen("dfs.out" ,"w");
fscanf(fin, "%d%d" ,&n,&m);
for(i=0;i<m;i++){
fscanf(fin, "%d%d" ,&a,&b);
v[a].push_back(b);
v[b].push_back(a);
}
for(i=0;i<n;i++){
if(viz[i]!=1){
suma++;
dfs(i,n);
}
}
fprintf(fout, "%d\n" ,suma);
fclose(fin);
fclose(fout);
return 0;
}