148892025-02-06 10:49:24Leventusz09K-léptű ősökcpp14Time limit exceeded 25/1002.099s101244 KiB
#include <iostream>
#include <vector>

using namespace std;

struct Node {
	vector<int> et;
	int p = -1;
};
vector<Node> G;

void f(int i, int p) {
	for (int n : G[i].et) {
		if (n == p) {
			G[i].p = n;
		}else{
			f(n, i);
		}
	}
}

int pn(int i, int n) {
	if (G[i].p == -1) return -1;
	if (n) return pn(G[i].p, --n);	
	return G[i].p;
}

int main() {
	int N, K;
	cin >> N >> K;
	K--;
	G = vector<Node>(N);
	for (int i = 0, x, y; i < N-1; i++) {
		cin >> x >> y;
		G[x].et.push_back(y);
		G[y].et.push_back(x);
	}

	f(0, -1);



	for (int i = 0; i < N; i++) {
		cout <<  /*G[i].p */  pn(i, K) << " ";
	}
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
subtask225/25
2Accepted1ms316 KiB
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Accepted1ms316 KiB
6Accepted2ms316 KiB
7Accepted3ms316 KiB
8Accepted4ms508 KiB
9Accepted4ms564 KiB
10Accepted7ms564 KiB
11Accepted4ms568 KiB
subtask30/16
12Accepted270ms4164 KiB
13Time limit exceeded2.099s9220 KiB
14Time limit exceeded2.099s9376 KiB
15Time limit exceeded2.099s8480 KiB
16Time limit exceeded2.085s9012 KiB
17Time limit exceeded2.078s9484 KiB
18Time limit exceeded2.078s9468 KiB
subtask40/59
19Time limit exceeded2.085s10804 KiB
20Time limit exceeded2.085s13876 KiB
21Time limit exceeded2.086s13728 KiB
22Time limit exceeded2.085s16840 KiB
23Time limit exceeded2.088s17408 KiB
24Accepted301ms15928 KiB
25Time limit exceeded2.092s33332 KiB
26Time limit exceeded2.091s34516 KiB
27Time limit exceeded2.091s70708 KiB
28Time limit exceeded2.082s67632 KiB
29Time limit exceeded2.082s83196 KiB
30Time limit exceeded2.085s87604 KiB
31Time limit exceeded2.081s92212 KiB
32Time limit exceeded2.091s101244 KiB
33Time limit exceeded2.089s79496 KiB