fork download
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. #define all(x) x.begin(),x.end()
  4. #define f1(i, n) for(int i=1;i<=n;++i)
  5. using namespace std;
  6.  
  7. const int maxn = 1e5 + 5;
  8. const int MOD = 1e9;
  9.  
  10. int n, m;
  11. vector<int> adj[maxn];
  12. bool visited[maxn];
  13.  
  14. void dfs(int u) {
  15. visited[u] = true;
  16. for (auto v : adj[u]) {
  17. if (!visited[v]) {
  18. dfs(v);
  19. }
  20. }
  21. }
  22.  
  23. int main() {
  24. ios::sync_with_stdio(false);
  25. cin.tie(nullptr);
  26.  
  27. cin >> n >> m;
  28.  
  29. int u, v;
  30. for (int i = 1; i <= m; ++i) {
  31. cin >> u >> v;
  32. adj[u].push_back(v);
  33. adj[v].push_back(u);
  34. }
  35.  
  36. int cnt = 0;
  37.  
  38. for (int i = 1; i <= n; ++i) {
  39. if (!visited[i]) {
  40. cnt++;
  41. dfs(i);
  42. }
  43. }
  44.  
  45. cout << cnt;
  46.  
  47.  
  48. }
  49.  
  50.  
  51.  
Success #stdin #stdout 0.01s 5920KB
stdin
Standard input is empty
stdout
Standard output is empty