Pagini recente » Cod sursa (job #3367066) | Cod sursa (job #3367504) | Cod sursa (job #3366539) | Cod sursa (job #3367759) | Cod sursa (job #3367047)
#include <bits/stdc++.h>
void DFS(int k, const std::vector<std::vector<int>>& L, std::vector<int>& viz)
{
viz[k] = 1;
for(const auto& w: L[k])
if(viz[w] == 0) DFS(w, L, viz);
}
int main()
{
std::ifstream fin("dfs.in");
std::ofstream fout("dfs.out");
int N{}, M{}, x, y;
fin >> N >> M;
std::vector<std::vector<int>> L(N);
std::vector<int> viz(N, 0);
for(int i = 0; i < M; i++)
{
fin >> x >> y;
L[x].push_back(y);
L[y].push_back(x);
}
int nr_conexe = 0;
for(int i = 0; i < N; i++)
if(viz[i] == 0)
{
DFS(i, L, viz);
nr_conexe++;
}
fout << nr_conexe;
fin.close();
fout.close();
return 0;
}