Pagini recente » Cod sursa (job #2400606) | Cod sursa (job #988954) | Cod sursa (job #3143672) | Cod sursa (job #2928925) | Cod sursa (job #314688)
Cod sursa(job #314688)
#include <stdio.h>
#define DIM 10000
struct nod {int x;
nod *urm;} *lst[DIM];
int n,m;
int viz[DIM];
void add (int a,int b)
{
nod *p=new nod;
p->x=b;
p->urm=lst[a];
lst[a]=p;
}
void read ()
{
int i,x,y;
scanf ("%d%d",&n,&m);
for (i=1; i<=m; ++i)
{
scanf ("%d%d",&x,&y);
add (x,y);
add (y,x);
}
}
void df (int start)
{
nod *p;
viz[start]=1;
for(p=lst[start];p;p=p->urm)
if(viz[p->x]==0)
df(p->x);
}
int main ()
{
freopen ("dfs.in","r",stdin);
freopen ("dfs.out","w",stdout);
read ();
int kontor=0;
for(int i=1;i<=n;++i)
if(viz[i]==0)
df (i),++kontor;
printf("%d",kontor);
return 0;
}