Pagini recente » Cod sursa (job #1902700) | Cod sursa (job #2393581) | Cod sursa (job #542323) | Cod sursa (job #1865173) | Cod sursa (job #699916)
Cod sursa(job #699916)
#include<stdio.h>
FILE *fin,*fout;
long viz[10000];
long a[10000][10000];
long n,m,x,y;
long nr;
int citire()
{
fscanf(fin,"%d%d",&n,&m);
while(m!=0)
{
fscanf(fin,"%d%d",&x,&y);
a[x][y]=a[y][x]=1;
m--;
}
}
int parcurg(int nod)
{
int i;
viz[nod]=1;
for(i=1;i<=n;i++)
if(a[nod][i]==1 && viz[i]==0)
parcurg(i);
}
int componente()
{
int i;
nr=1;
parcurg(1);
for(i=1;i<=n;i++)
if(viz[i]==0)
{
nr++;
parcurg(i);
}
}
main()
{
fin = fopen("dfs.in","r");
fout = fopen("dfs.out","w");
citire();
componente();
fprintf(fout,"%d",nr);
fclose(fin);
fclose(fout);
}