71782024-01-01 20:30:40anonUtazási irodacpp17Futási hiba 0/4561ms128936 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;
    vector<set<ll>> tree(N + 1);
    cin >> N >> K;
    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
base0/45
1Futási hiba0/061ms128936 KiB
2Futási hiba0/061ms128632 KiB
3Futási hiba0/261ms128416 KiB
4Futási hiba0/259ms128176 KiB
5Futási hiba0/156ms128072 KiB
6Futási hiba0/257ms127836 KiB
7Futási hiba0/259ms127828 KiB
8Futási hiba0/157ms127624 KiB
9Futási hiba0/259ms127624 KiB
10Futási hiba0/259ms127616 KiB
11Futási hiba0/143ms127376 KiB
12Futási hiba0/246ms127116 KiB
13Futási hiba0/257ms127112 KiB
14Futási hiba0/257ms127080 KiB
15Futási hiba0/257ms127076 KiB
16Futási hiba0/257ms127008 KiB
17Futási hiba0/357ms126988 KiB
18Futási hiba0/257ms126944 KiB
19Futási hiba0/257ms126800 KiB
20Futási hiba0/259ms126820 KiB
21Futási hiba0/359ms126820 KiB
22Futási hiba0/359ms126668 KiB
23Futási hiba0/354ms126648 KiB
24Futási hiba0/159ms126664 KiB
25Futási hiba0/159ms126668 KiB