Pagini recente » Cod sursa (job #1863736) | Cod sursa (job #1280420) | Monitorul de evaluare | Cod sursa (job #1139371) | Cod sursa (job #1435433)
#include <cstdio>
#include <cstring>
#include <vector>
#define DIM 100010
using namespace std;
FILE *fin = fopen("dfs.in" ,"r");
FILE *fout= fopen("dfs.out","w");
int Frec[DIM], N, M, nr, X, Y;
vector<int> V[DIM];
void SetUp(){
fscanf(fin, "%d %d ", &N, &M);
for(int i = 1; i <= M; i ++){
fscanf(fin, "%d %d ", &X, &Y);
V[X].push_back(Y);
V[Y].push_back(X);
}
return;
}
void DFS(int A[], int pos){
A[pos] = 1;
for(int i = 0; i < V[pos].size(); i ++)
if(Frec[V[pos][i]] == 0)
DFS(A, V[pos][i]);
return;
}
void CodeExpert(){
for(int i = 1; i <= N; i ++){
if(Frec[i] == 0){
nr ++;
DFS(Frec, i);
}
}
fprintf(fout, "%d\n", nr);
return;
}
int main(){
SetUp();
CodeExpert();
return 0;
}