Pagini recente » Cod sursa (job #965172) | Cod sursa (job #1631033) | Cod sursa (job #1823394) | Cod sursa (job #564837) | Cod sursa (job #2763183)
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#define FOR(i , n) for(int i = 0 ; i < (n) ; i++)
#define apare printf("apare");
#define endl "\n"
using namespace __gnu_pbds;
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int , int> pii;
////==================================================
const int inf = INT_MAX;
vector<bool> visited(100100 , false);
vector<int> adj[100100];
void dfs(int node){
if(visited[node])return;
visited[node] = true;
for(auto it : adj[node]){
dfs(it);
}
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
freopen("dfs.in" , "r" , stdin);
freopen("dfs.out" , "w" , stdout);
int n , m;
cin >> n >> m;
int n1 , n2;
FOR(i , m){
cin >> n1 >> n2;
adj[n1].push_back(n2);
adj[n2].push_back(n1);
}
int ret = 0;
for(int i = 1 ; i <= n ; i++){
if(!visited[i]){
ret++;
dfs(i);
}
}
cout << ret;
return 0x0;
}