148912025-02-06 11:09:08Leventusz09K-léptű ősökcpp14Wrong answer 0/1002.099s87604 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, c; i < N; i++) {
		c = i;
		for (int j = 0; j < K && c != -1; j++)
			c = G[c].p;
		
		cout <<  c << " ";
	}
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Wrong answer1ms316 KiB
subtask20/25
2Wrong answer1ms316 KiB
3Wrong answer1ms316 KiB
4Accepted1ms316 KiB
5Accepted1ms316 KiB
6Accepted2ms316 KiB
7Accepted2ms316 KiB
8Accepted3ms316 KiB
9Accepted4ms508 KiB
10Accepted6ms564 KiB
11Accepted4ms316 KiB
subtask30/16
12Accepted270ms3644 KiB
13Time limit exceeded2.099s8320 KiB
14Time limit exceeded2.099s8112 KiB
15Time limit exceeded2.099s7476 KiB
16Time limit exceeded2.085s7988 KiB
17Time limit exceeded2.078s8344 KiB
18Time limit exceeded2.078s8272 KiB
subtask40/59
19Time limit exceeded2.084s9524 KiB
20Time limit exceeded2.085s12084 KiB
21Time limit exceeded2.085s11828 KiB
22Time limit exceeded2.085s14392 KiB
23Time limit exceeded2.078s14900 KiB
24Wrong answer277ms13620 KiB
25Time limit exceeded2.079s28160 KiB
26Time limit exceeded2.079s29484 KiB
27Time limit exceeded2.088s59956 KiB
28Time limit exceeded2.089s57204 KiB
29Time limit exceeded2.094s69904 KiB
30Time limit exceeded2.092s74164 KiB
31Time limit exceeded2.092s78644 KiB
32Time limit exceeded2.088s87604 KiB
33Time limit exceeded2.089s66300 KiB