213332026-01-12 18:35:36algoproLegtávolabbi leszármazottcpp17Accepted 50/50103ms9172 KiB
// UUID: deb34be3-26e4-4960-b45c-51f4cfb74207
#include <bits/stdc++.h>
using namespace std;

vector<vector<int>>gyerek;
vector<int>tavolsagok;
vector<int>szulo;
int os;
void melysegi(int csucs){
	if(csucs != os){
		tavolsagok[csucs] = tavolsagok[szulo[csucs]]+1;
	} else{
		tavolsagok[csucs] = 0;
	}
	for(int i : gyerek[csucs]){
		melysegi(i);
	}
}

int main() {
	int n;
	cin >> n;
	gyerek.resize(n+1);
	szulo.resize(n+1);
	for(int i = 0; i < n-1; i++){
		int apa, fia;
		cin >> apa >> fia;
		gyerek[apa].push_back(fia);
		szulo[fia] = apa;
	}
	for(int i = 1; i < n+1; i++){
		if(szulo[i] == 0){
			os = i;
		}
	}
	tavolsagok.resize(n+1);
	melysegi(os);
	int maxtav = 0;
	int kiirni = 0;
	for(int i = 1; i <= n; i++){
		if(tavolsagok[i] > maxtav){
			maxtav = tavolsagok[i];
			kiirni = i;
		}
	}
	cout << kiirni;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/076ms4664 KiB
3Accepted1/11ms316 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms316 KiB
6Accepted1/11ms332 KiB
7Accepted1/11ms316 KiB
8Accepted1/12ms316 KiB
9Accepted2/290ms5104 KiB
10Accepted3/383ms5056 KiB
11Accepted3/31ms316 KiB
12Accepted4/494ms6908 KiB
13Accepted4/4103ms6968 KiB
14Accepted3/38ms768 KiB
15Accepted3/3103ms6936 KiB
16Accepted3/382ms6920 KiB
17Accepted3/397ms6668 KiB
18Accepted4/474ms4916 KiB
19Accepted4/478ms6196 KiB
20Accepted4/4101ms9172 KiB