Cod sursa(job #2302138)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 13 decembrie 2018 20:49:51
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include<stdio.h>
int n,m,u[100001],c,i,x,y;
typedef struct O
{
	int x;
	O *a;
}*P;
P v[100001],p;
void D(int i)
{
    P p;
	for(u[i]=1,p=v[i];p;p=p->a)
        if(!u[p->x])
            D(p->x);
}
int main()
{
    freopen("dfs.in","r",stdin),freopen("dfs.out","w",stdout),scanf("%d%d",&n,&m);
	while(m--)
	{
		scanf("%d%d",&x,&y);
		p=new O;
		p->x=y,p->a=v[x],v[x]=p;
		p=new O;
		p->x=x,p->a=v[y],v[y]=p;
    }
	for(i=1;i<=n;i++)
        if(!u[i])
            c++,D(i);
	printf("%d",c);
}