제출 #1161054

#제출 시각아이디문제언어결과실행 시간메모리
1161054achiCijanobakterije (COCI21_cijanobakterije)C++20
70 / 70
23 ms6796 KiB
#include <bits/stdc++.h>

using namespace std;

vector<vector<int>> graph;
vector<int> visited;
vector<int> visited2;
queue<int> q;

int bfs (int u, int V) {
    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 bfs2 (int u, int V) {
    int curr = 1;
    int next = 0;
    int depth = 0;
    q.push(u);
    while (!q.empty()) {
        u = q.front();
        q.pop();
        curr--;
        if (visited2[u]) continue;
        for (auto v : graph[u]) {
            if (visited2[v]) continue;
            q.push(v);
            next++;
        }
        visited2[u] = true;
        if (curr <= 0) {
            curr = next;
            next = 0;
            depth++;
        }
    }
    return u;
}

int main () {
    cin.tie(0)->sync_with_stdio(0);
    int V, E;
    int u, v;
    int len = 0;
    int id = 0;
    
    cin >> V >> E;
    graph.resize(V);
    visited.assign(V, false); 
    visited2.assign(V, false);

    for (int i = 0; i < E; i++) {
        cin >> u >> v;
        u--;
        v--;
        graph[u].push_back(v);
        graph[v].push_back(u);
    }
    
    for (int i = 0; i < V; i++) {
        if (visited[i]) continue;
        len += bfs(bfs2(i, V), V);
    }

    cout << 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...