Pagini recente » Cod sursa (job #2530836) | Cod sursa (job #1750970) | Cod sursa (job #1399631) | Cod sursa (job #1099627) | Cod sursa (job #159159)
Cod sursa(job #159159)
#include <stdio.h>
struct nod{
nod *urm;
long nd;
}*p[100010],*aux;
long n,m,i,x,y,marc[100010],nmarc,n_con;
void dfs(long nxd)
{ nod *aux;
marc[nxd]=1;nmarc++;
for(aux=p[nxd];aux!=NULL;aux=aux->urm)
if (!marc[aux->nd]) dfs(aux->nd);
}
int main(){
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%ld%ld", &n,&m);
for(i=0;i<m;i++){
scanf("%ld%ld",&x,&y);
aux=new nod;
aux->urm=p[x];
aux->nd=y;
p[x]=aux;
}
while(nmarc<n){
for(i=1;i<=n;i++) if (marc[i]==0) break;
dfs(i);n_con++;
}
printf("%ld",n_con);
return 0;
}