제출 #587689

#제출 시각아이디문제언어결과실행 시간메모리
587689MilosMilutinovicCijanobakterije (COCI21_cijanobakterije)C++14
70 / 70
41 ms15052 KiB
/**
 *    author:  wxhtzdy
 *    created: 02.07.2022 10:32:27
**/
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);  
  int n, m;
  cin >> n >> m;
  vector<vector<int>> g(n);
  for (int i = 0; i < m; i++) {
    int u, v;
    cin >> u >> v;
    --u; --v;
    g[u].push_back(v);
    g[v].push_back(u);
  }  
  vector<bool> was(n);
  vector<int> dep(n);
  int idx;
  function<void(int, int)> Dfs = [&](int v, int pr) {
    was[v] = true;
    dep[v] = dep[pr] + 1;
    if (dep[idx] < dep[v]) {
      idx = v;
    }
    for (int u : g[v]) {
      if (u != pr) {
        Dfs(u, v);
      }
    }
  };
  int ans = 0;
  for (int i = 0; i < n; i++) {
    if (!was[i]) {
      idx = i;
      Dfs(i, i);
      dep[idx] = 0;
      Dfs(idx, idx);
      ans += dep[idx];        
    }
  }
  cout << ans << '\n';                                                
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...