Pagini recente » Cod sursa (job #99711) | Cod sursa (job #2371175) | Cod sursa (job #1495371) | Cod sursa (job #3208301) | Cod sursa (job #276577)
Cod sursa(job #276577)
#include<stdio.h>
struct nod{ int x;
nod *next;
};
nod *v[100010];
long n,m;
long pus[100010];
void citire()
{ freopen("dfs.in","r",stdin);
scanf("%ld %ld",&n,&m);
long a,b;
nod *p;
for(long i=1;i<=m;i++)
{ scanf("%ld %ld",&a,&b);
p=new nod;
p->x = b;
p->next = v[a];
v[a] = p;
p=new nod;
p->x = a;
p->next = v[b];
v[b] = p;
}
}
void df(long k)
{ pus[k]=1;
nod *p;
p=v[k];
while (p!=NULL)
{ if (pus[p->x]==0) df(p->x);
p=p->next;
}
}
int main()
{ citire();
freopen("dfs.out","w",stdout);
long cont=0;
for(long i=1;i<=n;i++)
if(pus[i]==0){ df(i);
cont++;
}
printf("%d\n",cont);
return 0;
}