71792024-01-01 20:35:43anonUtazási irodacpp17Elfogadva 45/45118ms47128 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ÖsszpontTesztVerdiktIdőMemória
base45/45
1Elfogadva0/03ms1828 KiB
2Elfogadva0/09ms5560 KiB
3Elfogadva2/23ms2392 KiB
4Elfogadva2/23ms2600 KiB
5Elfogadva1/13ms2824 KiB
6Elfogadva2/24ms3552 KiB
7Elfogadva2/24ms3760 KiB
8Elfogadva1/14ms3948 KiB
9Elfogadva2/279ms45568 KiB
10Elfogadva2/281ms46240 KiB
11Elfogadva1/1103ms47128 KiB
12Elfogadva2/283ms33172 KiB
13Elfogadva2/298ms32780 KiB
14Elfogadva2/278ms33692 KiB
15Elfogadva2/297ms33380 KiB
16Elfogadva2/2118ms33252 KiB
17Elfogadva3/375ms33988 KiB
18Elfogadva2/290ms33472 KiB
19Elfogadva2/275ms33596 KiB
20Elfogadva2/272ms34116 KiB
21Elfogadva3/375ms33472 KiB
22Elfogadva3/374ms33600 KiB
23Elfogadva3/375ms34120 KiB
24Elfogadva1/181ms34248 KiB
25Elfogadva1/175ms35160 KiB