Pagini recente » Cod sursa (job #945557) | Cod sursa (job #2881576) | Cod sursa (job #1186873) | Cod sursa (job #2637130) | Cod sursa (job #3193376)
#include<bits/stdc++.h>
using namespace std;
const int N = 100009;
ifstream in ("dfs.in");
ofstream out("dfs.out");
// auto& in = cin;
// auto& out = cout;
int n;
vector<vector<int>> adj(N, vector<int>());
bool visited[N];
void read() {
int m, x, y;
in>>n>>m;
for(int i = 0; i < m; i++) {
in>>x>>y;
adj[x].push_back(y);
adj[y].push_back(x);
}
}
void dfs(int crt) {
if(visited[crt]) return;
visited[crt] = true;
for(auto neighbor : adj[crt])
dfs(neighbor);
}
int main(){
read();
int comps = 0;
for(int i = 1; i <= n; i++)
if(!visited[i]) {
comps++;
dfs(i);
}
out<<comps<<endl;
return 0;
}