Pagini recente » Cod sursa (job #689681) | Cod sursa (job #637352) | Cod sursa (job #1205145) | Cod sursa (job #2535570) | Cod sursa (job #290235)
Cod sursa(job #290235)
#include<iostream>
#include<stdio.h>
struct nod {int inf;nod *next;} *a[100010];
int n,m,i,ut[100010],nr,x,y;
void add(nod *&v,int y)
{
nod *c=new nod;
c->inf=y;
c->next=v;
v=c;
}
void dfs(int nd)
{
ut[nd]=1;
nod *p;
for(p=a[nd];p;p=p->next)
if(!ut[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);
add(a[x],y);
add(a[y],x);
}
for(i=1;i<=n;i++)
if(!ut[i])
{
nr++;
dfs(i);
}
printf("%d\n",nr);
return 0;
}