Pagini recente » Cod sursa (job #1528086) | Cod sursa (job #961046) | Cod sursa (job #1736288) | Cod sursa (job #145551) | Cod sursa (job #1464045)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
vector<int> A[100010];
int N,M,X,Y,rs;
bool B[100010];
void DFS(int i){
B[i] = true;
for(int j = 0;j < A[i].size();j++){
if(!B[A[i][j]]){
DFS(A[i][j]);
}
}
}
int main(){
fin >> N >> M;
for(int i = 0;i<M;i++){
fin >> X >> Y;
A[X].push_back(Y);
A[Y].push_back(X);
}
for(int i = 1;i <= N;i++){
if(!B[i]){
rs++;
DFS(i);
}
}
fout << rs;
return 0;
}