161412025-04-06 12:39:07linhnkLegtávolabbi leszármazottcpp17Accepted 50/5093ms5940 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, a, b, maxi=0, hol;
    cin>>n; 
    vector<vector<int>> graf(n);
    vector<bool> been(n, true);
    queue<int> q;
    vector<int> erdo(n, -1);
    for(int i=0; i<n-1; i++){
        cin>>a>>b;
        a--;
        b--;
        graf[a].push_back(b);
        been[b]=false;
    }
    for(int i=0; i<n; i++){
        if(been[i]){
            q.push(i);
            erdo[i]=0;
        }
    }
    while(!q.empty()){
        for(auto x:graf[q.front()]){
            if(erdo[x]==-1){
                q.push(x);
                erdo[x]=erdo[q.front()]+1;
                if(erdo[x]>maxi){
                    maxi=erdo[x];
                    hol=x;
                }
            }
        }
        q.pop();
    }
    cout<<hol+1;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/079ms4148 KiB
3Accepted1/11ms508 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms508 KiB
6Accepted1/11ms316 KiB
7Accepted1/11ms316 KiB
8Accepted1/11ms316 KiB
9Accepted2/285ms4584 KiB
10Accepted3/385ms4616 KiB
11Accepted3/31ms316 KiB
12Accepted4/486ms4960 KiB
13Accepted4/490ms5172 KiB
14Accepted3/38ms824 KiB
15Accepted3/385ms5320 KiB
16Accepted3/378ms4580 KiB
17Accepted3/382ms4660 KiB
18Accepted4/464ms3956 KiB
19Accepted4/471ms4404 KiB
20Accepted4/493ms5940 KiB