Pagini recente » Cod sursa (job #340335) | Cod sursa (job #1022150) | Cod sursa (job #1405442) | Cod sursa (job #638473) | Cod sursa (job #370152)
Cod sursa(job #370152)
#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 main()
{
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;
}