237392026-01-28 16:32:33abcdUtazási irodacpp17Hibás válasz 4/45122ms12208 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;

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

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

int main() {
    ll n,k;cin>>n>>k;
    for(int i=1;i<n;i++) {
        int a,b;cin>>a>>b;
        adj[a].push_back(b);
        adj[b].push_back(a);
    }
    for(int i=1;i<=n;i++)sort(adj[i].begin(),adj[i].end());
    int 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(int x:ans)cout<<x<<' ';
    cout<<'\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/45
1Elfogadva0/04ms2612 KiB
2Hibás válasz0/014ms3124 KiB
3Hibás válasz0/23ms2804 KiB
4Hibás válasz0/23ms2612 KiB
5Elfogadva1/13ms2616 KiB
6Hibás válasz0/24ms2612 KiB
7Hibás válasz0/24ms2652 KiB
8Hibás válasz0/14ms2868 KiB
9Elfogadva2/298ms11144 KiB
10Hibás válasz0/2122ms12208 KiB
11Elfogadva1/1104ms9400 KiB
12Hibás válasz0/297ms7348 KiB
13Hibás válasz0/290ms7836 KiB
14Hibás válasz0/2105ms7412 KiB
15Hibás válasz0/297ms7468 KiB
16Hibás válasz0/296ms7932 KiB
17Hibás válasz0/397ms7508 KiB
18Hibás válasz0/2101ms7320 KiB
19Hibás válasz0/296ms6172 KiB
20Hibás válasz0/2100ms7632 KiB
21Hibás válasz0/3103ms7404 KiB
22Hibás válasz0/397ms7476 KiB
23Hibás válasz0/397ms7504 KiB
24Hibás válasz0/1100ms6452 KiB
25Hibás válasz0/193ms6568 KiB