Pagini recente » Cod sursa (job #744660) | Cod sursa (job #262275) | Cod sursa (job #1580216) | Cod sursa (job #2620882) | Cod sursa (job #163158)
Cod sursa(job #163158)
#include <stdio.h>
int contor=0,a[50000][250],n,m;
bool v[100001];
int citire()
{FILE *f;
int x,y;
f=fopen("dfs.in","r");
fscanf(f,"%d %d",&n,&m);
for (int i=1;i<=m;i++)
{fscanf(f,"%d %d",&x,&y);
a[x][0]++;
a[x][a[x][0]]=y;
a[y][0]++;
a[y][a[y][0]]=x;
}
fclose(f);
return 0;
}
int DFS(int x)
{
for (int i=1;i<=a[x][0];i++)
if (v[a[x][i]]==0)
{v[a[x][i]]=1;
DFS(a[x][i]);
}
return 0;
}
int afisare()
{FILE *f;
f=fopen("dfs.out","w");
fprintf(f,"%d",contor);
fclose(f);
return 0;
}
int main()
{
citire();
for (int i=1;i<=n;i++)
if (v[i]==0) {v[i]=1;
contor++;
DFS(i);
}
afisare();
return 0;
}