Pagini recente » Cod sursa (job #700994) | Cod sursa (job #410649) | Cod sursa (job #872702) | Cod sursa (job #2256230) | Cod sursa (job #288013)
Cod sursa(job #288013)
#include<iostream>
#include<stdio.h>
struct nod {int inf;nod *next;};
nod *v[100010];
bool ut[100010];
void add(nod *&v,int y)
{
nod *c=new nod;
c->next=v;
c->inf=y;
v=c;
}
void dfs(int nd)
{
ut[nd]=1;
while(v[nd])
{
if(!ut[v[nd]->inf])
dfs(v[nd]->inf);
v[nd]=v[nd]->next;
}
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
int n,m,i,nr;
scanf("%d%d",&m,&n);
for(i=1;i<=n;i++)
{
int x,y;
scanf("%d%d",&x,&y);
add(v[x],y);
add(v[y],x);
}
for(i=1;i<=n;i++)
if(!ut[i])
{
nr++;
dfs(i);
}
printf("%d\n",nr);
}