제출 #1160955

#제출 시각아이디문제언어결과실행 시간메모리
1160955achiCijanobakterije (COCI21_cijanobakterije)C++20
6 / 70
1095 ms15168 KiB
#include <bits/stdc++.h> using namespace std; vector<vector<int>> graph; vector<vector<int>> group_members; vector<bool> visited; vector<int> links; vector<int> dist; int id = 0; void dfs(int u) { if (visited[u]) return; visited[u] = true; if (links[u] < 2) group_members[id].push_back(u); for (auto v : graph[u]) { if (!visited[v]) dfs(v); } } int bfs (int u, int V) { queue<int> q; int curr = 1; int next = 0; int depth = 0; q.push(u); while (!q.empty()) { u = q.front(); q.pop(); curr--; if (visited[u]) continue; for (auto v : graph[u]) { if (visited[v]) continue; q.push(v); next++; } visited[u] = true; if (curr <= 0) { curr = next; next = 0; depth++; } } return depth; } int main () { cin.tie(0)->sync_with_stdio(0); int V, E; int u, v; int max_len = INT_MIN; cin >> V >> E; graph.resize(V); group_members.resize(V); visited.assign(V, false); links.assign(V, 0); dist.assign(V, 1); for (int i = 0; i < E; i++) { cin >> u >> v; u--; v--; graph[u].push_back(v); graph[v].push_back(u); links[u]++; links[v]++; } for (int i = 0; i < V; i++) { if (visited[i]) continue; dfs(i); id++; } for (int i = 1; i < id; i++) { graph[group_members[i-1].back()].push_back(group_members[i].back()); graph[group_members[i].back()].push_back(group_members[i-1].back()); links[group_members[i].back()]++; links[group_members[i-1].back()]++; if (links[group_members[i].back()] > 1) { group_members[i].pop_back(); } if (links[group_members[i-1].back()] > 1) { group_members[i-1].pop_back(); } } for (int i = 0; i < V; i++) { if (links[i] > 1) continue; visited.assign(V, false); max_len = max(max_len, bfs(i, V)); } cout << max_len; 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...