Pagini recente » Cod sursa (job #1696051) | Cod sursa (job #949983) | Cod sursa (job #1755460) | Cod sursa (job #1981824) | Cod sursa (job #212469)
Cod sursa(job #212469)
#include<stdio.h>
int li[3][100],nr,fin,parc,st,i,f[100],j,n,m,ver[100],coada[100];
void bf(int nod)
{ st=1;
fin=2;
coada[st]=nod;
f[nod]=nr;
while(st<=fin)
{ parc=ver[coada[st]];
while(parc!=0)
{ if(f[li[1][parc]]==0)
{ coada[fin]=li[1][parc];
f[li[1][parc]]=nr;
fin++; }
parc=li[2][parc];
}
st++;
}
}
int main()
{freopen("lista.in","r",stdin);
freopen("lista.out","w",stdout);
int k=1;
scanf("%d",&n);
scanf("%d%d",&i,&j);
while(i!=0&&j!=0)
{ li[1][k]=j;
li[2][k]=ver[i];
ver[i]=k;
k++;
li[1][k]=i;
li[2][k]=ver[j];
ver[j]=k;
k++;
i=0; j=0;
scanf("%d%d",&i,&j);
}
for(i=1;i<=n;i++)
{ if(f[i]==0)
{ nr++;
bf(i); }
}
printf("%d",nr);
return 0;
}