148902025-02-06 10:53:12Leventusz09K-léptű ősökcpp14Időlimit túllépés 25/1002.099s96048 KiB
#include <iostream>
#include <vector>

using namespace std;

struct Node {
	vector<int> et;
};
vector<Node> G;
vector<int> ps;

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

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

int main() {
	int N, K;
	cin >> N >> K;
	K--;
	G = vector<Node>(N);
	ps = vector<int>(N, -1);
	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 <<  /*ps[i] */  pn(i, K) << " ";
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask225/25
2Elfogadva1ms508 KiB
3Elfogadva1ms508 KiB
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva2ms316 KiB
7Elfogadva2ms316 KiB
8Elfogadva3ms316 KiB
9Elfogadva4ms508 KiB
10Elfogadva6ms564 KiB
11Elfogadva4ms500 KiB
subtask30/16
12Elfogadva222ms3668 KiB
13Időlimit túllépés2.099s8736 KiB
14Időlimit túllépés2.099s8504 KiB
15Időlimit túllépés2.099s8132 KiB
16Időlimit túllépés2.081s8244 KiB
17Időlimit túllépés2.081s8712 KiB
18Időlimit túllépés2.081s8500 KiB
subtask40/59
19Időlimit túllépés2.085s9780 KiB
20Időlimit túllépés2.085s12612 KiB
21Időlimit túllépés2.085s11316 KiB
22Időlimit túllépés2.085s14132 KiB
23Időlimit túllépés2.082s15040 KiB
24Elfogadva259ms12720 KiB
25Időlimit túllépés2.084s27700 KiB
26Időlimit túllépés2.085s29932 KiB
27Időlimit túllépés2.096s61616 KiB
28Időlimit túllépés2.085s56940 KiB
29Időlimit túllépés2.085s68848 KiB
30Időlimit túllépés2.088s75788 KiB
31Időlimit túllépés2.086s82704 KiB
32Időlimit túllépés2.091s96048 KiB
33Időlimit túllépés2.088s63284 KiB