10526 2024. 04. 04 16:25:43 111 K-léptű ősök cpp17 Elfogadva 100/100 1.011s 242204 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int N,K;
	cin>>N>>K;
	vector<vector<int>>g(N);
	for(int i=0;i<N-1;i++){
		int a,b;
		cin>>a>>b;
		g[a].push_back(b);
		g[b].push_back(a);
	}
	vector<int>ans(N,-1),s;
	auto dfs=[&](auto self,int i,int p)->void{
		if(s.size()>=K){
			ans[i]=s[s.size()-K];
		}
		s.push_back(i);
		for(int j:g[i]){
			if(j==p){
				continue;
			}
			self(self,j,i);
		}
		s.pop_back();
	};
	dfs(dfs,0,-1);
	for(int i=0;i<N;i++){
		cout<<ans[i]<<' ';
	}
	cout<<'\n';
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 2108 KiB
subtask2 25/25
2 Elfogadva 3ms 2308 KiB
3 Elfogadva 3ms 2532 KiB
4 Elfogadva 3ms 2700 KiB
5 Elfogadva 3ms 2916 KiB
6 Elfogadva 3ms 2960 KiB
7 Elfogadva 3ms 3248 KiB
8 Elfogadva 3ms 3284 KiB
9 Elfogadva 4ms 3740 KiB
10 Elfogadva 4ms 4048 KiB
11 Elfogadva 4ms 4132 KiB
subtask3 16/16
12 Elfogadva 28ms 11700 KiB
13 Elfogadva 52ms 25128 KiB
14 Elfogadva 61ms 25876 KiB
15 Elfogadva 48ms 25548 KiB
16 Elfogadva 56ms 27588 KiB
17 Elfogadva 57ms 29368 KiB
18 Elfogadva 56ms 30508 KiB
subtask4 59/59
19 Elfogadva 68ms 34964 KiB
20 Elfogadva 97ms 43708 KiB
21 Elfogadva 109ms 41672 KiB
22 Elfogadva 126ms 51356 KiB
23 Elfogadva 128ms 55844 KiB
24 Elfogadva 141ms 51600 KiB
25 Elfogadva 337ms 92888 KiB
26 Elfogadva 333ms 103048 KiB
27 Elfogadva 607ms 187544 KiB
28 Elfogadva 625ms 187036 KiB
29 Elfogadva 820ms 211904 KiB
30 Elfogadva 808ms 219948 KiB
31 Elfogadva 748ms 227728 KiB
32 Elfogadva 642ms 242204 KiB
33 Elfogadva 1.011s 181444 KiB