154662025-02-19 19:16:06horkaLegtávolabbi leszármazottcpp17Accepted 50/50156ms14644 KiB
#include <bits/stdc++.h>
using namespace std;
const int c=1e5+10;
int dp[c],ert[c];
bool vis[c];
vector<int> adj[c];
void dfs(int cs)
{
    vis[cs]=1;
    dp[cs]=1,ert[cs]=cs;
    for(int &i:adj[cs])
        if(!vis[i])
    {
        dfs(i);
        if(dp[i]>=dp[cs])
        {
            dp[cs]=dp[i]+1;
            ert[cs]=ert[i];
        }
    }
}
int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int n; cin>>n;
    set<int> gy;
    for(int i=1; i<=n; i++)
        gy.insert(i);
    for(int i=1; i<n; i++)
    {
        int a,b; cin>>a>>b;
        gy.erase(b);
        adj[a].push_back(b);
        adj[b].push_back(a);
    }
    dfs(*gy.begin());
    cout<<ert[*gy.begin()]<<"\n";
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/03ms2624 KiB
2Accepted0/0128ms8144 KiB
3Accepted1/13ms2612 KiB
4Accepted3/33ms2612 KiB
5Accepted3/33ms2612 KiB
6Accepted1/13ms2788 KiB
7Accepted1/13ms2584 KiB
8Accepted1/13ms2864 KiB
9Accepted2/293ms8128 KiB
10Accepted3/386ms8268 KiB
11Accepted3/33ms2612 KiB
12Accepted4/4148ms11992 KiB
13Accepted4/4138ms11856 KiB
14Accepted3/310ms3380 KiB
15Accepted3/3150ms11080 KiB
16Accepted3/3143ms11828 KiB
17Accepted3/3143ms11572 KiB
18Accepted4/4100ms8756 KiB
19Accepted4/4116ms10932 KiB
20Accepted4/4156ms14644 KiB