213232026-01-12 18:27:52algoproLegtávolabbi leszármazottcpp17Accepted 50/5093ms9780 KiB
// UUID: 32886902-aea3-467a-b545-5c6a704b683a
#include <bits/stdc++.h>
using namespace std;

int cnt=0; int hindex=0;
vector <vector<int>> graph;
vector <bool> voltE;

void dfs (int i, int crt) {
    voltE[i]=1;
    crt+=1;
    //cout<<i<<" "<<crt<<endl;
    if (crt>cnt) {
        cnt=crt;
        hindex=i;
        //cout << cnt << " " << hindex+1 << "\n";    
    }
    for (int x : graph[i]) {
        if (!voltE[x]) dfs(x,crt);
    }
}
int main() {
	int n;
    cin >> n;
    graph.resize(n);
    voltE.resize(n);

    for (int i=0; i<n-1; i++) {
        int a,b; cin >> a >> b;
        a--; b--;
        graph[a].push_back(b);
        voltE[b]=1;
    }
    int first=0;

    /*for (int x=0; x<n; x++) {
        cout << x << ": ";
        for (int y=0; y<graph[x].size(); y++) {
            cout << graph[x][y] << " ";
            //cout << y << " ";
        }
        cout << "\n";
    }*/
    
    for (int i=0; i<n; i++) {
        if (!voltE[i]) {
            first=i;
            break;
        }
    }
    voltE.assign(n,0);
    dfs(first,0);
    cout << hindex+1;     
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/081ms3892 KiB
3Accepted1/11ms316 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms316 KiB
6Accepted1/11ms316 KiB
7Accepted1/11ms316 KiB
8Accepted1/11ms436 KiB
9Accepted2/283ms4236 KiB
10Accepted3/386ms4204 KiB
11Accepted3/31ms316 KiB
12Accepted4/490ms6904 KiB
13Accepted4/490ms6964 KiB
14Accepted3/38ms564 KiB
15Accepted3/386ms6704 KiB
16Accepted3/379ms7172 KiB
17Accepted3/393ms6708 KiB
18Accepted4/464ms4916 KiB
19Accepted4/475ms6452 KiB
20Accepted4/493ms9780 KiB