7179 2024. 01. 01 20:35:43 anon Utazási iroda cpp17 Elfogadva 45/45 118ms 47128 KiB
#include <bits/stdc++.h>
#define FastIO ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
typedef long long ll;
using namespace std;
ll dfs(ll v, ll lst, vector<ll> &ccs, const vector<set<ll>> &tree) {
    for(const auto &x : tree[v]) {
        if(x != lst)
            ccs[v] += dfs(x, v, ccs, tree);
    }
    return ccs[v];
}
int main() {
    FastIO;
    ll i, u, v, sn, N, K;
    cin >> N >> K;
    vector<set<ll>> tree(N + 1);
    for(i = 1; i < N; i++) {
        cin >> u >> v;
        tree[u].insert(v);
        tree[v].insert(u);
    }
    sn = (K / N) + 1;
    K = K % N;
    vector<ll> ccs(N + 1, 1);
    dfs(sn, 0, ccs, tree);
    u = 0;
    stack<ll> st;
    st.push(sn);
    while(!st.empty() && K) {
        v = st.top();
        st.pop();
        cout << v << ' ';
        K--;
        if(!K)
            break;
        for(const auto &x : tree[v]) {
            if(x == u)
                continue;
            if(K > ccs[x])
                K -= ccs[x];
            else {
                st.push(x);
                break;
            }
        }
        u = v;
    }
    cout << '\n';
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 45/45
1 Elfogadva 0/0 3ms 1828 KiB
2 Elfogadva 0/0 9ms 5560 KiB
3 Elfogadva 2/2 3ms 2392 KiB
4 Elfogadva 2/2 3ms 2600 KiB
5 Elfogadva 1/1 3ms 2824 KiB
6 Elfogadva 2/2 4ms 3552 KiB
7 Elfogadva 2/2 4ms 3760 KiB
8 Elfogadva 1/1 4ms 3948 KiB
9 Elfogadva 2/2 79ms 45568 KiB
10 Elfogadva 2/2 81ms 46240 KiB
11 Elfogadva 1/1 103ms 47128 KiB
12 Elfogadva 2/2 83ms 33172 KiB
13 Elfogadva 2/2 98ms 32780 KiB
14 Elfogadva 2/2 78ms 33692 KiB
15 Elfogadva 2/2 97ms 33380 KiB
16 Elfogadva 2/2 118ms 33252 KiB
17 Elfogadva 3/3 75ms 33988 KiB
18 Elfogadva 2/2 90ms 33472 KiB
19 Elfogadva 2/2 75ms 33596 KiB
20 Elfogadva 2/2 72ms 34116 KiB
21 Elfogadva 3/3 75ms 33472 KiB
22 Elfogadva 3/3 74ms 33600 KiB
23 Elfogadva 3/3 75ms 34120 KiB
24 Elfogadva 1/1 81ms 34248 KiB
25 Elfogadva 1/1 75ms 35160 KiB