Pagini recente » Cod sursa (job #1363175) | Cod sursa (job #1305206) | Cod sursa (job #1167926) | Cod sursa (job #2914207) | Cod sursa (job #2915869)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("dfs.in");
ofstream cout("dfs.out");
int n,m;
vector<vector<int>> ma;
vector<bool> visited;
void read() {
cin>>n>>m;
ma.resize(n+1);
visited.resize(n+1);
}
void dfs(int &node) {
if(visited[node]) {
return;
}
visited[node]=1;
for(auto i:ma[node]) {
dfs(i);
}
}
void solve() {
int a,b;
for(int i=1;i<=m;i++) {
cin>>a>>b;
ma[a].push_back(b);
ma[b].push_back(a);
}
int cnt=0;
for(int i=1;i<=n;i++) {
if(!visited[i]) {
cnt++;
dfs(i);
}
}
cout<<cnt;
}
int main() {
read();
solve();
return 0;
}