Pagini recente » Cod sursa (job #1608617) | Cod sursa (job #876254) | Cod sursa (job #2563837) | Cod sursa (job #39010) | Cod sursa (job #370150)
Cod sursa(job #370150)
#include<stdio.h>
typedef struct nod
{
int inf;
nod *urm;
}*lista;;
lista a[100009];
int fol[100009],i,j,n,x,y,m;
void insert(lista &prim,int x)
{
lista p=new nod;
p->inf=x;
p->urm=prim;
prim=p;
}
void dfs(int i)
{
lista p=a[i];
fol[i]=1;
for(;p;p=p->urm) if(!fol[p->inf]) dfs(p->inf);
}
int mian()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d %d",&n,&m);
for(i=1;i<=m;i++) { scanf("%d %d",&x,&y);
insert(a[x],y);
insert(a[y],x);
}
for(i=1;i<=n;i++) if(!fol[i]) { j++;
dfs(i);
}
printf("%d\n",j);
fclose(stdin);
fclose(stdout);
return 0;
}