Submission #685033

#TimeUsernameProblemLanguageResultExecution timeMemory
685033moonheroNewspapers (CEOI21_newspapers)C++14
4 / 100
1 ms224 KiB
#include<bits/stdc++.h>
using namespace std;
using ll = long long;

int p[1005];

int get (int x) {
    if (x == p[x]) return x;
    return p[x] = get(p[x]);
}

void u (int x, int y) {
    x = get(x), y = get(y);
    if (x == y) return;
    p[x] = y;
}

signed main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int n, m; cin >> n >> m;
    vector <int> cnt(n + 1, 0);
    int cntr = 0;
    bool ok = 1;
    for (int i = 1; i <= n; i++) p[i] = i;
    for (int i = 1; i <= m; i++) {
        int x, y; cin >> x >> y;
        if (get(x) == get(y)) ok = 0;
        u(x, y);
        cnt[x]++;
        cnt[y]++;
        cntr = max(cnt[x], cntr), cntr = max(cntr, cnt[y]);
    } 
    if (m == n - 1 && ok && (cntr < 3)) cout << "YES\n" << "1\n1";
    else cout << "NO\n";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...