190012025-11-15 11:50:45KristófLegtávolabbi leszármazottcpp17Accepted 50/50108ms11316 KiB
#include <iostream>
#include <vector>
using namespace std;

vector<vector<int>> graph;
int m=0;
vector<bool> visit;
int ans;
void dfs(int s,int dist)
{
visit[s]=true;
if(dist>m)
    {
    m=dist;
    ans=s;
    }
for(auto x : graph[s])
    {
    if(!visit[x])
        dfs(x,dist+1);
    }
}



int main()
{
    int n;
    cin>>n;
    graph.resize(n+1);
    visit.resize(n+1);
    int x,y;
    vector<int> indeg(n+1,0);
    for(int i=0;i<n-1;i++)
        {
        cin>>x>>y;
        graph[x].push_back(y);
        indeg[y]++;
        }
    for(int i=1;i<=n;i++)
        {
        if(!indeg[i])
            {
            dfs(i,1);
            cout<<ans;
            return 0;
            }
        }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/085ms5220 KiB
3Accepted1/11ms316 KiB
4Accepted3/31ms508 KiB
5Accepted3/31ms508 KiB
6Accepted1/11ms316 KiB
7Accepted1/11ms316 KiB
8Accepted1/12ms316 KiB
9Accepted2/289ms5808 KiB
10Accepted3/389ms5844 KiB
11Accepted3/32ms508 KiB
12Accepted4/4103ms8500 KiB
13Accepted4/497ms8500 KiB
14Accepted3/38ms820 KiB
15Accepted3/3103ms8308 KiB
16Accepted3/393ms8524 KiB
17Accepted3/397ms8072 KiB
18Accepted4/464ms5940 KiB
19Accepted4/486ms7732 KiB
20Accepted4/4108ms11316 KiB