198522025-12-26 09:49:51GergoszaboParti (75 pont)cpp17Wrong answer 72/7597ms9012 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 << " ";
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base72/75
1Accepted0/01ms316 KiB
2Accepted0/048ms4660 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms316 KiB
5Wrong answer0/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Accepted4/41ms316 KiB
9Accepted4/42ms316 KiB
10Accepted4/42ms316 KiB
11Accepted4/42ms460 KiB
12Accepted4/42ms384 KiB
13Accepted4/43ms564 KiB
14Accepted4/44ms564 KiB
15Accepted4/448ms4644 KiB
16Accepted4/457ms5576 KiB
17Accepted4/465ms6452 KiB
18Accepted4/474ms7220 KiB
19Accepted4/486ms7988 KiB
20Accepted4/497ms9012 KiB
21Accepted4/493ms8856 KiB
22Accepted4/41ms316 KiB