9754 2024. 03. 06 13:13:09 FulopMate Emezen Rt. cpp17 Hibás válasz 0/100 252ms 46500 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

#define MAX(a, b) (a) = max((a), (b))
#define MIN(a, b) (a) = min((a), (b))
#define all(a) (a).begin(), (a).end()
#define sortedpair(a, b) {min((a), (b)), max((a), (b))}

const ll MOD = 1e9+7;

const int MAXN = 100'001;

struct E {
    int u, v, w;

    E(int a, int b, int c) : u(a), v(b), w(c) {}
};

int par[MAXN], ans[MAXN];
vector<int> g[MAXN];

int get(int u) {
    if (par[u] == u) return u;
    return par[u]=get(par[u]);
}

bool unio(int u, int v) {
    u = get(u); v=get(v);
    if (u == v) return false;
    par[u]=v;
    return true;
}

void dfs(int u, int p = -1, int d = 0) {
    ans[u] = d&1;
    for (int v : g[u]) {
        if (v != p) dfs(v, u, d+1);
    }
}

void solve(){
    int n, m; cin>>n>>m;
    iota(par, par+n+1, 0);
    map<pair<int, int>, int> mp;
    for (int i = 0; i < m; i++) {
        int u, v; cin >> u >> v;
        if (u > v) swap(u, v);
        mp[{u, v}]++;
    }
    for (int i = 1; i <= n; i++) {
        g[i].clear();
    }

    vector<E> edges;
    for (auto [e, x] : mp) {
        edges.emplace_back(e.first, e.second, x);
    }
    sort(edges.begin(), edges.end(), [](auto x, auto y){
        return x.w > y.w;
    });
    for (E e : edges) {
        if (unio(e.u, e.v)) {
            g[e.u].emplace_back(e.v);
            g[e.v].emplace_back(e.u);
        }
    }
    dfs(1);
    int cnt = count(ans+1, ans+n+1, 1);
    cout << cnt << "\n";
    for (int i = 1; i <= n; i++) {
        if (ans[i]) cout << i << " ";
    }
    cout << "\n";
}

int main(){
    ios_base::sync_with_stdio(0); cin.tie(0);
    int _t = 1;
    cin >> _t;
    while (_t--) {
        solve();
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 4ms 6632 KiB
subtask2 0/16
2 Hibás válasz 4ms 6840 KiB
3 Elfogadva 4ms 6900 KiB
4 Elfogadva 4ms 7072 KiB
5 Elfogadva 4ms 7340 KiB
6 Elfogadva 4ms 7296 KiB
7 Hibás válasz 4ms 7560 KiB
8 Hibás válasz 4ms 7508 KiB
9 Elfogadva 4ms 7760 KiB
10 Hibás válasz 4ms 7704 KiB
11 Hibás válasz 4ms 7708 KiB
12 Elfogadva 4ms 7704 KiB
13 Elfogadva 4ms 7704 KiB
14 Elfogadva 4ms 7708 KiB
15 Elfogadva 4ms 8008 KiB
16 Elfogadva 4ms 8056 KiB
subtask3 0/18
17 Elfogadva 76ms 24044 KiB
18 Elfogadva 194ms 39732 KiB
19 Elfogadva 179ms 39648 KiB
20 Hibás válasz 8ms 10788 KiB
21 Elfogadva 101ms 29792 KiB
22 Elfogadva 144ms 38084 KiB
23 Elfogadva 202ms 42264 KiB
24 Elfogadva 209ms 44480 KiB
25 Elfogadva 243ms 46132 KiB
26 Elfogadva 248ms 46364 KiB
subtask4 0/66
27 Hibás válasz 8ms 11064 KiB
28 Hibás válasz 20ms 14796 KiB
29 Elfogadva 57ms 21572 KiB
30 Elfogadva 180ms 38616 KiB
31 Elfogadva 252ms 46500 KiB
32 Elfogadva 222ms 46500 KiB
33 Elfogadva 217ms 45856 KiB
34 Elfogadva 240ms 45212 KiB
35 Hibás válasz 199ms 40412 KiB
36 Hibás válasz 199ms 40404 KiB
37 Hibás válasz 6ms 9628 KiB
38 Elfogadva 9ms 11004 KiB
39 Hibás válasz 23ms 14136 KiB
40 Elfogadva 4ms 9716 KiB
41 Hibás válasz 6ms 9728 KiB
42 Elfogadva 52ms 9916 KiB
43 Hibás válasz 24ms 10156 KiB
44 Hibás válasz 8ms 10252 KiB
45 Hibás válasz 4ms 10152 KiB