Pagini recente » Cod sursa (job #2396444) | Cod sursa (job #2290768) | Cod sursa (job #2369271) | Cod sursa (job #1521839) | Cod sursa (job #2632155)
#include <stdio.h>
#include <stdlib.h>
using namespace std;
#define NMAX 100000
#include <vector>
vector <int> g[NMAX];
int viz[NMAX+1];
int dfs(int nod){
int i;
viz[nod]=1;
for(i=0;i<g[nod].size();i++){
if(viz[g[nod][i]]==0){
dfs(g[nod][i]);
}
}
}
int main()
{
FILE *fin,*fout;
fin=fopen("dfs.in","r");
fout=fopen("dfs.out","w");
int n,m,i,x,y,nr;
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);
}
nr=1;
dfs(1);
for(i=1;i<=n;i++){
if(viz[i]==0){
nr++;
dfs(i);
}
}
fprintf(fout,"%d",nr);
fclose(fin);
fclose(fout);
return 0;
}