217152026-01-13 18:23:10algoproLegtávolabbi leszármazottcpp17Elfogadva 50/5097ms10036 KiB
// UUID: dddc703b-5b45-45c7-a123-4b1fbf2727c2
#include <bits/stdc++.h>
#include <vector>
using namespace std;

vector<vector<int>> g;
vector<int> dist;
vector<bool> vis;

int legn = 0;
int melyik = 0;

void dfs(int v) {
	vis[v] = true;
	for (int i : g[v]) {
		if (vis[i] == false) {
			dist[i] = dist[v] + 1;
			if (dist[i] > legn) {
				legn = dist[i];
				melyik = i;
			}
			dfs(i);
		}
	}
}

int main() {
	int n;
	cin >> n;
	g.resize(n);
	dist.resize(n);
	vis.resize(n);

	int a, b;
	vector<bool> apae (n, false);
	for (int i = 0; i < n - 1; i++) {
		cin >> a >> b;
		g[a - 1].push_back(b - 1);
		apae[b - 1] = true;
	}
	
	int gyoker = 0;
	for (int i = 0; i < n; i++) {
		if (apae[i] == false) {
			gyoker = i;
		}
	} 

	dfs(gyoker);
	cout << melyik + 1;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms508 KiB
2Elfogadva0/075ms4148 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva1/11ms316 KiB
7Elfogadva1/11ms316 KiB
8Elfogadva1/12ms316 KiB
9Elfogadva2/285ms4760 KiB
10Elfogadva3/386ms4584 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva4/489ms7220 KiB
13Elfogadva4/496ms7220 KiB
14Elfogadva3/38ms820 KiB
15Elfogadva3/385ms7276 KiB
16Elfogadva3/382ms7684 KiB
17Elfogadva3/389ms7220 KiB
18Elfogadva4/464ms5172 KiB
19Elfogadva4/475ms6708 KiB
20Elfogadva4/497ms10036 KiB