Pagini recente » Cod sursa (job #279498) | Cod sursa (job #2360280) | Cod sursa (job #1957832) | Cod sursa (job #1656882) | Cod sursa (job #2981381)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
const int N = 1e5;
vector<vector<int>> adj(N);
bool visited[N];
void dfs(int x) {
visited[x] = true;
for(auto y : adj[x]) {
if(!visited[y]) dfs(y);
}
}
int main() {
int n, m;
in >> n >> m;
for(int i = 0; i < m; i++) {
int x, y;
in >> x >> y;
x--, y--;
adj[x].push_back(y);
adj[y].push_back(x);
}
int cnt = 0;
for(int i = 0; i < n; i++) {
if(!visited[i]) { dfs(i); cnt++; }
}
out << cnt << '\n';
}