213342026-01-12 18:35:37algoproLegtávolabbi leszármazottcpp17Accepted 50/50115ms9112 KiB
// UUID: 253caf40-b623-4b40-bdfc-e34d1114fb29
#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/01ms508 KiB
2Accepted0/078ms4444 KiB
3Accepted1/11ms508 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms316 KiB
6Accepted1/11ms316 KiB
7Accepted1/11ms316 KiB
8Accepted1/12ms316 KiB
9Accepted2/285ms5140 KiB
10Accepted3/389ms4948 KiB
11Accepted3/31ms316 KiB
12Accepted4/4100ms6944 KiB
13Accepted4/4101ms6856 KiB
14Accepted3/38ms820 KiB
15Accepted3/390ms6896 KiB
16Accepted3/392ms7004 KiB
17Accepted3/3101ms6700 KiB
18Accepted4/464ms5040 KiB
19Accepted4/487ms6156 KiB
20Accepted4/4115ms9112 KiB