Pagini recente » Cod sursa (job #411199) | Cod sursa (job #1493855) | Cod sursa (job #2828655) | Cod sursa (job #30529) | Cod sursa (job #655683)
Cod sursa(job #655683)
#include<stdio.h>
int n,m,viz[100001],con;
typedef struct nod
{
int inf;
nod *ad;
} *Nod;
Nod a[100001];
void citire()
{
freopen("d:\\dfs.in","r",stdin);
freopen("d:\\dfs.out","w",stdout);
scanf("%d %d",&n,&m);
int i,j,k;
Nod v;
for(i=0;i<m;i++)
{
scanf("%d",&j,&k);
v=new nod;
v->inf=j;
v->ad=a[k];
a[k]=v;
v=new nod;
v->inf=k;
v->ad=a[j];
a[j]=v;
}
}
void dfs(int n)
{
Nod v;
viz[n]=1;
for(v=a[n];v!=NULL;v=v->ad)
if(!viz[v->inf])
dfs(v->inf);
}
int main()
{
citire();
int i;
for(i=1;i<n;i++)
if(viz[i]!=0)
{
con++;dfs(i);
}
printf("%d ",con);
return 0;
}