Pagini recente » Cod sursa (job #2644765) | Cod sursa (job #1507574) | Cod sursa (job #2389614) | Cod sursa (job #2753541) | Cod sursa (job #148077)
Cod sursa(job #148077)
#include <fstream.h>
#include <string.h>
#include <alloc.h>
int *A[100001], n, viz[100001], m;
void read(){
int x, y, i;
ifstream f("dfs.in");
f>>n>>m;
for(i=1; i<=n; i++) {A[i] = (int *)realloc(A[i], sizeof(int)); A[i][0]=0;}
for(i=1; i<=m; i++){
f>>x>>y;
A[x] = (int *)realloc(A[x], (A[x][0]+1)*sizeof(int)); A[x][0]++;
A[y] = (int *)realloc(A[y], (A[y][0]+1)*sizeof(int)); A[y][0]++;
A[x][A[x][0]]=y;
A[y][A[y][0]]=x;
}
f.close();
}
void df(int i){
int j;
viz[i]=1;
for(j=1; j<=A[i][0]; j++)
if(!viz[A[i][j]])
df(A[i][j]);
}
int main(){
int Rez=0, i;
read();
for(i=1; i<=n; i++)
if(!viz[i]){
Rez++;
df(i);
}
ofstream g("dfs.out");
g<<Rez<<"\n";
g.close();
return 0;
}