Pagini recente » Cod sursa (job #2436565) | Cod sursa (job #2307818) | Cod sursa (job #2990706) | Cod sursa (job #2136017) | Cod sursa (job #349426)
Cod sursa(job #349426)
#include <cstdio>
#define MaxN 100009
struct muchie{
int x;
muchie *urm;
};
muchie *G[MaxN];
int n,m,nr,uz[MaxN];
void add(int x,int y)
{
muchie *aux=new muchie;
aux->x=y;
aux->urm=G[x];
G[x]=aux;
}
void cit()
{
int i,x,y;
freopen("dfs.in","r",stdin);
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%d%d",&x,&y);
add(x,y); add(y,x);
}
}
void DFS(int nod)
{
muchie *aux=new muchie;
uz[nod]=1;
aux=G[nod];
while(aux)
{
if(!uz[aux->x])
DFS(aux->x);
aux=aux->urm;
}
}
void sol()
{
int i;
for(i=1;i<=n;i++)
if(!uz[i])
DFS(i), nr++;
}
void afis()
{
freopen("dfs.out","w",stdout);
printf("%d",nr);
}
int main()
{
cit();
sol();
afis();
return 0;
}