42632023-03-20 19:59:16horvathabelLegtávolabbi leszármazottcpp17Elfogadva 50/5085ms16148 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> g[100001];
int bfs(int x){
	pair<int, int> mx={0,0};
	queue<int> q;
	int t[100001];
	q.push(x);
	while (!q.empty()){
		int v=q.front();
		q.pop(); 
		for (int edge:g[v]){
			t[edge]=t[v]+1;
			if (t[edge]>mx.first) mx={t[edge],edge};
			q.push(edge);
		}
	}
	return mx.second;
}
int main() {
	int n;
	cin>>n;
	vector<int> c(n+1);
	for (int i=1; i<n;i++){
		int x,y;
		cin>>x>>y;
		c[y]++;
		g[x].push_back(y); 
	}
	for (int i=1; i<=n;i++){
		if (c[i]==0) {
			cout<<bfs(i);
			return 0; 
		}
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/04ms7232 KiB
2Elfogadva0/072ms11148 KiB
3Elfogadva1/14ms7764 KiB
4Elfogadva3/34ms7972 KiB
5Elfogadva3/34ms7932 KiB
6Elfogadva1/14ms8188 KiB
7Elfogadva1/14ms8512 KiB
8Elfogadva1/14ms8760 KiB
9Elfogadva2/279ms12464 KiB
10Elfogadva3/379ms12720 KiB
11Elfogadva3/34ms9172 KiB
12Elfogadva4/482ms14068 KiB
13Elfogadva4/482ms14116 KiB
14Elfogadva3/310ms9848 KiB
15Elfogadva3/375ms14824 KiB
16Elfogadva3/375ms14036 KiB
17Elfogadva3/378ms13900 KiB
18Elfogadva4/461ms13504 KiB
19Elfogadva4/471ms13692 KiB
20Elfogadva4/485ms16148 KiB