fork download
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. const int N = 100005;
  6.  
  7. int n, m, Ans;
  8. vector<int> dsk[N];
  9. bool visited[N];
  10.  
  11. void DFS(int u) {
  12.  
  13. /// mảng visited[u] = 1 khi mà đã tới thăm đỉnh này
  14. /// = 0 khi chưa thăm
  15.  
  16. visited[u] = true;
  17.  
  18. for (int v : dsk[u]) {
  19. if (visited[v] == false)
  20. DFS(v);
  21. }
  22. }
  23.  
  24. int main() {
  25. cin >> n >> m;
  26.  
  27. for (int i = 1; i <= m; i++) {
  28. int u, v;
  29. cin >> u >> v;
  30. dsk[u].push_back(v);
  31. dsk[v].push_back(u);
  32. }
  33.  
  34. for (int i = 1; i <= n; i++)
  35. if (visited[i] == false) {
  36. DFS(i);
  37. Ans++;
  38. }
  39.  
  40. cout << Ans;
  41. }
  42.  
Success #stdin #stdout 0.01s 5832KB
stdin
Standard input is empty
stdout
Standard output is empty