148932025-02-06 11:12:16Leventusz09K-léptű ősökcpp14Time limit exceeded 25/1002.104s87704 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 main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int N, K;
	cin >> N >> 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, j; i < N; i++) {
		c = i;
		for (j = 0; j < K && c != -1; j++)
			c = G[c].p;
		
		cout <<  c << " ";
	}
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
subtask225/25
2Accepted1ms316 KiB
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Accepted1ms316 KiB
6Accepted2ms316 KiB
7Accepted2ms316 KiB
8Accepted3ms564 KiB
9Accepted4ms564 KiB
10Accepted6ms564 KiB
11Accepted3ms568 KiB
subtask30/16
12Accepted246ms3660 KiB
13Time limit exceeded2.099s8316 KiB
14Time limit exceeded2.099s8316 KiB
15Time limit exceeded2.099s7564 KiB
16Time limit exceeded2.081s7988 KiB
17Time limit exceeded2.078s8244 KiB
18Time limit exceeded2.078s8352 KiB
subtask40/59
19Time limit exceeded2.086s9588 KiB
20Time limit exceeded2.086s12144 KiB
21Time limit exceeded2.086s11832 KiB
22Time limit exceeded2.086s14388 KiB
23Time limit exceeded2.078s14900 KiB
24Accepted209ms13612 KiB
25Time limit exceeded2.079s28288 KiB
26Time limit exceeded2.079s29492 KiB
27Time limit exceeded2.084s60212 KiB
28Time limit exceeded2.085s57236 KiB
29Time limit exceeded2.088s69940 KiB
30Time limit exceeded2.088s74292 KiB
31Time limit exceeded2.089s78732 KiB
32Time limit exceeded2.098s87704 KiB
33Time limit exceeded2.104s66360 KiB