Pagini recente » Cod sursa (job #681390) | Cod sursa (job #1978432) | Cod sursa (job #938629) | Cod sursa (job #2343306) | Cod sursa (job #507302)
Cod sursa(job #507302)
#include <stdio.h>
int n, m, viz[1000005], cnt;
struct nod
{
int info;
nod *next;
};
nod *L[100001];
void add(nod *&cap, int info)
{
nod *p = new nod;
p->info=info;
p->next=cap;
cap=p;
}
void citire()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
int x,y;
scanf("%d%d",&n,&m);
for(int i=1; i<=m; ++i)
{
scanf("%d%d",&x,&y);
add(L[x],y);
add(L[y],x);
}
}
void DF(int nd)
{
viz[nd] = 1;
for(nod *p = L[nd]; p; p->next)
DF(p->info);
}
int main()
{
citire();
int i;
for (i = 1; i <= n; i++)
if (!viz[i])
{
cnt++;
DF(i);
}
printf("%d\n",cnt);
return 0;
}