198532025-12-26 10:04:36GergoszaboParti (75 pont)cpp17Accepted 75/7596ms8020 KiB
#include <iostream>
#include <bits/stdc++.h>
using ll = long long;
using namespace std;

int main()
{
    ll n; cin >> n;
    vector<vector<ll>> g(n+1);
    vector<ll> in(n+1, 0);
    for (ll i = 1; i <= n; i++){
        ll a, b; cin >> a >> b;
        g[i].push_back(a);
        g[i].push_back(b);
        in[a]++; in[b]++;
    }
    queue<ll> q;
    vector<ll> vis(n+1, 0);
    ll ans = n;
    for (ll i = 1; i <= n; i++){
        if (in[i] < 2){
            q.push(i); vis[i] = 1;
            ans--;
        }
    }
    while (!q.empty()){
        ll node = q.front();
        q.pop();
        for (ll u : g[node]){
            in[u]--;
            if (in[u] < 2 && !vis[u]){
                q.push(u); vis[u] = 1;
                ans--;
            }
        }
    }
    cout << ans << "\n";
    for (ll i = 1; i <= n; i++){
        if (in[i] >= 2) cout << i << " ";
    }
    cout << "\n";
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base75/75
1Accepted0/01ms316 KiB
2Accepted0/045ms4148 KiB
3Accepted3/31ms512 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms508 KiB
8Accepted4/42ms316 KiB
9Accepted4/42ms548 KiB
10Accepted4/43ms316 KiB
11Accepted4/42ms316 KiB
12Accepted4/42ms472 KiB
13Accepted4/43ms564 KiB
14Accepted4/44ms564 KiB
15Accepted4/443ms4056 KiB
16Accepted4/452ms4780 KiB
17Accepted4/464ms5632 KiB
18Accepted4/475ms6404 KiB
19Accepted4/481ms7124 KiB
20Accepted4/490ms7856 KiB
21Accepted4/496ms8020 KiB
22Accepted4/41ms316 KiB