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