Pagini recente » Cod sursa (job #778374) | Cod sursa (job #370870) | Cod sursa (job #2179597) | Cod sursa (job #2876434) | Cod sursa (job #3123582)
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
std::ifstream fin("dfs.in");
std::ofstream fout("dfs.out");
int main() {
int n,m;
std::cin >> n >> m;
std::vector<std::vector<int>> adj(6);
while(m--) {
int a, b;
std::cin >> a >> b;
a--, b--;
adj[a].push_back(b);
adj[b].push_back(a);
}
std::vector<bool> visited(n, false);
int cnt{};
for(int i = 0; i<n; i++) {
if(!visited[i]) {
cnt++;
std::stack<int> q;
q.push(i);
visited[i] = true;
while(!q.empty()) {
int node = q.top();
q.pop();
for(auto next : adj[node]) {
if(!visited[next]) {
visited[next] = true;
q.push(next);
}
}
}
}
}
std::cout << cnt << '\n';
return 0;
}