fork download
  1. #include <bits/stdc++.h>
  2.  
  3. #define elif else if
  4. #define ii pair<int,int>
  5. #define pb push_back
  6. #define ll long long
  7. #define FOR(i , a , b , c) for(int i = (a) ; i <= (b) ; i += (c))
  8. #define FORD(i , a , b , c) for(int i = (a) ; i >= (b) ; i -= (c))
  9. #define FASTIO ios::sync_with_stdio(0); cin.tie(0);
  10.  
  11. using namespace std;
  12.  
  13. const int N = 5e3 + 1;
  14.  
  15. int n , d[N] , check , m;
  16.  
  17. vector<int> a[N];
  18.  
  19. void dfs(int u , int count) {
  20. d[u] = count;
  21.  
  22. for(auto v : a[u]) {
  23. if( v == check ) continue;
  24. if(d[v] != 0) continue;
  25. dfs(v , count);
  26. }
  27. }
  28.  
  29. int main() {
  30. // freopen("in.txt" , "r" , stdin);
  31. FASTIO;
  32.  
  33. cin >> n >> m;
  34.  
  35. FOR(i , 1 , m , 1) {
  36. int u , v ; cin >> u >> v;
  37. a[u].pb(v);
  38. a[v].pb(u);
  39. }
  40.  
  41. FOR(i , 1 , n , 1) {
  42. check = i;
  43. FOR(i , 1 , n , 1)
  44. d[i] = 0;
  45.  
  46. d[check] = -1;
  47.  
  48. int cnt = 0;
  49.  
  50. FOR(i , 1 , n , 1)
  51. if(d[i] == 0)
  52. dfs(i , ++cnt);
  53.  
  54. cout << cnt << "\n";
  55. }
  56.  
  57. return 0;
  58. }
Success #stdin #stdout 0.01s 5304KB
stdin
5 4
1 2
2 4
2 5
3 4
stdout
1
3
1
2
1