71772024-01-01 20:27:49anonUtazási irodacpp17Futási hiba 0/4559ms128864 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/059ms128864 KiB
2Futási hiba0/050ms128592 KiB
3Futási hiba0/250ms128356 KiB
4Futási hiba0/248ms128132 KiB
5Futási hiba0/148ms127892 KiB
6Futási hiba0/248ms127876 KiB
7Futási hiba0/248ms127888 KiB
8Futási hiba0/148ms127724 KiB
9Futási hiba0/259ms127480 KiB
10Futási hiba0/248ms127480 KiB
11Futási hiba0/146ms127464 KiB
12Futási hiba0/257ms127460 KiB
13Futási hiba0/245ms127448 KiB
14Futási hiba0/257ms127212 KiB
15Futási hiba0/257ms126984 KiB
16Futási hiba0/256ms126984 KiB
17Futási hiba0/357ms126800 KiB
18Futási hiba0/248ms126796 KiB
19Futási hiba0/257ms126572 KiB
20Futási hiba0/243ms126400 KiB
21Futási hiba0/346ms126344 KiB
22Futási hiba0/357ms126344 KiB
23Futási hiba0/346ms126340 KiB
24Futási hiba0/159ms126336 KiB
25Futási hiba0/159ms126336 KiB