Pagini recente » Cod sursa (job #1591656) | Cod sursa (job #2146768) | Profil PlayHP | Profil Stanciu_Catalin_322CA | Cod sursa (job #160143)
Cod sursa(job #160143)
#include<stdio.h>
#define LMAX 100001
long n,m,i,contor; char viz[LMAX];
struct nod {long val; nod *next;} *v[LMAX];
void adauga(nod *&before,long aux)
{ nod *p=new nod;
p->next=before;
p->val=aux;
before=p; }
long dfs(long nodc)
{nod *p=v[nodc];
for(;p!=NULL;p=p->next)
if(viz[p->val]==0)
{viz[p->val]=1; dfs(p->val);} }
void citire()
{scanf("%ld %ld",&n,&m); long aux1,aux2;
for(i=1;i<=m;i++)
{ scanf("%ld %ld",&aux1,&aux2);
adauga(v[aux1],aux2);
adauga(v[aux2],aux1); } }
int main()
{ freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
citire();
for(i=1;i<=n;i++)
if(viz[i]==0) { contor++; viz[i]=1; dfs(i); }
printf("%ld\n",contor);
return 0;}