8991 2024. 02. 10 21:44:45 xxx Legtávolabbi leszármazott cpp17 Elfogadva 50/50 86ms 27364 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

signed main() {
	int n;
	cin >> n;
	vector<bool> gyereke(n+1, 0);
	vector<vector<int> > adj(n+1);
	for(int i = 1; i < n; i++) {
		int x, y;
		cin >> x >> y;
		adj[x].push_back(y);
		gyereke[y] = 1;
	}
	int os;
	for(int i = 1; i <= n; i++) {
		if (!gyereke[i]) {
			os = i;
			i = n+1;
		}
	}
	queue<int> q;
	vector<int> tav(n+1);
	q.push(os);
	int mxtav = -1, mxind;
	while(!q.empty()) {
		int u = q.front();
		q.pop();
		for(int v : adj[u]) {
			tav[v] = tav[u]+1;
			if (tav[v] > mxtav) {
				mxtav = tav[v];
				mxind = v;
			}
			q.push(v);
		}
	}
	cout << mxind << ' ';



	
	
	return 0;
	
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1808 KiB
2 Elfogadva 0/0 71ms 12024 KiB
3 Elfogadva 1/1 3ms 2968 KiB
4 Elfogadva 3/3 3ms 3212 KiB
5 Elfogadva 3/3 3ms 3428 KiB
6 Elfogadva 1/1 3ms 3644 KiB
7 Elfogadva 1/1 3ms 4016 KiB
8 Elfogadva 1/1 3ms 4256 KiB
9 Elfogadva 2/2 79ms 15256 KiB
10 Elfogadva 3/3 79ms 16384 KiB
11 Elfogadva 3/3 3ms 6440 KiB
12 Elfogadva 4/4 82ms 18232 KiB
13 Elfogadva 4/4 81ms 19584 KiB
14 Elfogadva 3/3 9ms 10036 KiB
15 Elfogadva 3/3 74ms 20644 KiB
16 Elfogadva 3/3 72ms 20656 KiB
17 Elfogadva 3/3 79ms 22288 KiB
18 Elfogadva 4/4 57ms 21140 KiB
19 Elfogadva 4/4 68ms 23340 KiB
20 Elfogadva 4/4 86ms 27364 KiB