216962026-01-13 18:10:39algoproLegtávolabbi leszármazottcpp17Accepted 50/50103ms11040 KiB
// UUID: 3ef7c2ff-0248-44dd-890c-2d7d28adcfa4
#include <bits/stdc++.h>
using namespace std;

vector <vector<int>> g;
vector <bool> vis;
vector <bool> kiazos; 
int os;
int trokon = 0;
int far = 0;

void dfs (int v, int l){
    l++;
    vis[v] = true;

    for (int& u : g[v]){
        if (!vis[u]){
            dfs(u,l);
        }
    }
    if (far < l){
        far = l;
        trokon = v;
    }
}


int main() {
    int n;
    cin >> n;

    g.resize(n+1,vector<int> ());
    vis.resize(n+1,false);
    kiazos.resize(n+1,true);

    for (int i=1; i<=n; i++){
        int a, b;
        cin >> a >> b;

        g[a].push_back(b);
        kiazos[b] = false;
    }

    for (int i=1; i<=n; i++){
        if (kiazos[i] == true){
            os = i;
            break;
        }
    }

    dfs(os,0);    

    cout << trokon;






}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/083ms3888 KiB
3Accepted1/11ms316 KiB
4Accepted3/31ms500 KiB
5Accepted3/31ms316 KiB
6Accepted1/11ms316 KiB
7Accepted1/11ms508 KiB
8Accepted1/12ms316 KiB
9Accepted2/283ms4336 KiB
10Accepted3/387ms4160 KiB
11Accepted3/31ms316 KiB
12Accepted4/492ms7732 KiB
13Accepted4/4103ms7732 KiB
14Accepted3/38ms564 KiB
15Accepted3/386ms7476 KiB
16Accepted3/382ms8280 KiB
17Accepted3/396ms7488 KiB
18Accepted4/464ms5172 KiB
19Accepted4/482ms7124 KiB
20Accepted4/497ms11040 KiB