237662026-01-28 19:36:50abcdUtazási irodacpp17Hibás válasz 4/4568ms11780 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;

const ll maxn=1e5+1;
vector<ll> adj[maxn];
ll cnt,p[maxn],last;
vector<ll> ans;

void dfs(ll v, ll par) {
    cnt--;
    last=v;
    if(cnt==0)return;
    for(ll to:adj[v]) {
        if(to==par)continue;
        p[to]=v;
        dfs(to,v);
    }
}

int main() {
    ios::sync_with_stdio(false);cin.tie(0);
    ll n,k;cin>>n>>k;
    for(ll i=1;i<n;i++) {
        ll a,b;cin>>a>>b;
        adj[a].push_back(b);
        adj[b].push_back(a);
    }
    for(ll i=1;i<=n;i++)sort(adj[i].begin(),adj[i].end());
    ll root=(k-1)/n+1;
    cnt=k%n;
    if(!cnt)cnt=n;
    dfs(root,-1);
    while(last){
        ans.push_back(last);
        last=p[last];
    }
    reverse(ans.begin(),ans.end());
    for(ll x:ans)cout<<x<<' ';
    cout<<'\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/45
1Elfogadva0/03ms2616 KiB
2Hibás válasz0/08ms3140 KiB
3Hibás válasz0/23ms2612 KiB
4Hibás válasz0/23ms2612 KiB
5Elfogadva1/13ms2764 KiB
6Hibás válasz0/24ms2868 KiB
7Hibás válasz0/23ms2868 KiB
8Hibás válasz0/14ms2876 KiB
9Elfogadva2/267ms10548 KiB
10Hibás válasz0/267ms11780 KiB
11Elfogadva1/154ms8884 KiB
12Hibás válasz0/263ms7100 KiB
13Hibás válasz0/250ms7476 KiB
14Hibás válasz0/268ms7272 KiB
15Hibás válasz0/254ms7172 KiB
16Hibás válasz0/252ms7512 KiB
17Hibás válasz0/361ms7256 KiB
18Hibás válasz0/254ms7136 KiB
19Hibás válasz0/254ms6964 KiB
20Hibás válasz0/263ms7140 KiB
21Hibás válasz0/354ms6964 KiB
22Hibás válasz0/363ms7144 KiB
23Hibás válasz0/363ms7220 KiB
24Hibás válasz0/154ms7220 KiB
25Hibás válasz0/150ms7600 KiB