148922025-02-06 11:09:58Leventusz09K-léptű ősökcpp14Időlimit túllépés 25/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;
	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 << " ";
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask225/25
2Elfogadva1ms316 KiB
3Elfogadva1ms316 KiB
4Elfogadva1ms508 KiB
5Elfogadva1ms316 KiB
6Elfogadva2ms316 KiB
7Elfogadva3ms316 KiB
8Elfogadva4ms532 KiB
9Elfogadva4ms548 KiB
10Elfogadva6ms564 KiB
11Elfogadva4ms388 KiB
subtask30/16
12Elfogadva268ms3764 KiB
13Időlimit túllépés2.099s8264 KiB
14Időlimit túllépés2.099s8172 KiB
15Időlimit túllépés2.099s7524 KiB
16Időlimit túllépés2.081s7988 KiB
17Időlimit túllépés2.085s8340 KiB
18Időlimit túllépés2.085s8244 KiB
subtask40/59
19Időlimit túllépés2.075s9572 KiB
20Időlimit túllépés2.075s12080 KiB
21Időlimit túllépés2.075s11660 KiB
22Időlimit túllépés2.075s14416 KiB
23Időlimit túllépés2.082s14848 KiB
24Elfogadva314ms13620 KiB
25Időlimit túllépés2.085s28196 KiB
26Időlimit túllépés2.084s29596 KiB
27Időlimit túllépés2.092s59956 KiB
28Időlimit túllépés2.085s57140 KiB
29Időlimit túllépés2.088s69940 KiB
30Időlimit túllépés2.088s74292 KiB
31Időlimit túllépés2.084s78812 KiB
32Időlimit túllépés2.078s87604 KiB
33Időlimit túllépés2.078s66100 KiB