답안 #697592

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
697592 2023-02-10T13:26:04 Z piOOE Newspapers (CEOI21_newspapers) C++17
4 / 100
1 ms 340 KB
#include <bits/stdc++.h>

using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n, m;
    cin >> n >> m;

    vector<vector<int>> adj(n);

    vector<int> fa(n);
    iota(fa.begin(), fa.end(), 0);

    auto leader = [&](int x) {
        while (x != fa[x]) x = fa[x] = fa[fa[x]];
        return x;
    };

    auto unite = [&](int x, int y) -> bool {
        x = leader(x), y = leader(y);
        return (x != y) && (fa[y] = x, true);
    };

    bool yay = true;

    for (int i = 0; i < m; ++i) {
        int x, y;
        cin >> x >> y;
        x -= 1, y -= 1;

        adj[x].push_back(y);
        adj[y].push_back(x);

        yay &= unite(x, y);
    }

    if (!yay) {
        cout << "NO\n";
        return 0;
    }

    auto bfs = [&](int source) {
        vector<int> dist(n, -1);
        dist[source] = 0;

        queue<int> q;
        q.push(source);

        while (!q.empty()) {
            int v = q.front();
            q.pop();

            for (int to : adj[v]) {
                if (dist[to] == -1) {
                    dist[to] = dist[v] + 1;
                    q.push(to);
                }
            }
        }

        return dist;
    };

    auto tmp = bfs(0);

    int d1 = max_element(tmp.begin(), tmp.end()) - tmp.begin();

    auto dist1 = bfs(d1);

    int d2 = max_element(dist1.begin(), dist1.end()) - dist1.begin();

    auto dist2 = bfs(d2);

    int diam = dist1[d2];

    for (int i = 0; i < n && yay; ++i) {
        int len = (dist1[i] + dist2[i] - diam) / 2;

        if (len >= 2) {
            yay = false;
        }
    }

    if (yay) {
        cout << "YES\n";

        cout << "1\n1\n";
    } else {
        cout << "NO\n";
    }

    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
3 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
4 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
5 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
6 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
7 Correct 0 ms 212 KB Output is correct
8 Incorrect 1 ms 212 KB Output isn't correct
9 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
3 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
4 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
5 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
6 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
7 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
8 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
9 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
10 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
11 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
12 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
13 Partially correct 0 ms 340 KB Failed to provide a successful strategy.
14 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
15 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
16 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
17 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
18 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
19 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
20 Partially correct 1 ms 340 KB Failed to provide a successful strategy.
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Partially correct 0 ms 212 KB Failed to provide a successful strategy.
3 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
4 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
5 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
6 Partially correct 1 ms 212 KB Failed to provide a successful strategy.
7 Correct 0 ms 212 KB Output is correct
8 Incorrect 1 ms 212 KB Output isn't correct
9 Halted 0 ms 0 KB -