Pagini recente » Cod sursa (job #2661049) | Cod sursa (job #1244759) | Cod sursa (job #2928339) | Cod sursa (job #3241846) | Cod sursa (job #2589271)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("C:\\Users\\Eduard\\Documents\\CLionProjects\\dfs\\dfs.in");
ofstream fout("C:\\Users\\Eduard\\Documents\\CLionProjects\\dfs\\dfs.out");
const int N_MAX {100000};
int N, M, answer;
vector <int> Edges[N_MAX];
bool Check[N_MAX];
void DFS(int Node){
Check[Node] = true;
for(unsigned int i = 0; i<Edges[Node].size(); i++){
int Next = Edges[Node][i];
if(!Check[Next]){
DFS(Next);
};
};
};
void Read(){
fin >> N >> M;
for(int i = 1; i<=M; i++){
int x, y;
fin >> x >> y;
Edges[x].push_back(y);
Edges[y].push_back(x);
};
for(int i = 1; i<=N; i++){
if(!Check[i]){
answer++;
DFS(i);
}
};
fout << answer << "\n";
};
int main(){
Read();
return 0;
};