Pagini recente » Cod sursa (job #2548794) | Cod sursa (job #556277) | Cod sursa (job #420355) | Cod sursa (job #1205555) | Cod sursa (job #709409)
Cod sursa(job #709409)
#include<stdio.h>
#define val 100010
int i , n , m , x , y ,nr , Fr[val];
struct nod{
int nr;
nod *adr;
}*p,*L[val];
FILE*f=fopen("dfs.in","r");
FILE*g=fopen("dfs.out","w");
void dfs(int e){
nod *c;
c=L[e];
while(c!=NULL){
if(Fr[c->nr]==0){
Fr[c->nr]=1;
dfs(c->nr);
}
c=c->adr;
}
}
int main(){
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=m;i++){
fscanf(f,"%d%d",&x,&y);
p=new nod;
p->nr=y;
p->adr=L[x];
L[x]=p;
p=new nod;
p->nr=x;
p->adr=L[y];
L[y]=p;
}
for(i=1;i<=n;i++){
if(Fr[i]==0){
nr++;Fr[i]=1;
dfs(i);
}
}
fprintf(g,"%d",nr);
return 0;
}