Pagini recente » Cod sursa (job #2043609) | Cod sursa (job #304119) | Cod sursa (job #2568957) | Cod sursa (job #755520) | Cod sursa (job #632274)
Cod sursa(job #632274)
#include<stdio.h>
int n,m,i,s[1000],a,b,nr;
typedef struct nod
{
int info;
nod *adr;
}*pnod;
pnod v[100000];
void adauga(pnod &dest,int nr)
{
pnod c;c=new nod;
c->adr=dest;
c->info=nr;
dest=c;
}
void dfs(int nod)
{
pnod p;
s[nod]=1;
for(p=v[nod];p!=NULL;p=p->adr)
if(s[p->info]==0)
dfs(p->info);
}
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",&a,&b);
adauga(v[a],b);
adauga(v[b],a);
}
for(i=1;i<=n;i++)
if(s[i]==0)
{nr++;dfs(i);}
printf("%d",nr);
return 0;
}