134122025-01-07 20:53:31BucsMateLegtávolabbi leszármazottcpp17Elfogadva 50/5087ms6708 KiB
#include <iostream>
#include <vector>
#include <queue>

using namespace std;

int BFS(vector<vector<int>> &adj, int start, int N)
{
    queue<int> q;
    q.push(start);
    vector<bool> visited(N+1, false);
    visited[start] = true;
    int utolso = start;
    while(!q.empty()){
        int currNode = q.front();
        q.pop();
        visited[currNode] = true;
        utolso = currNode;

        for(int i = 0; i < adj[currNode].size(); i++){
            int newNode = adj[currNode][i];
            if(!visited[newNode]){
                q.push(newNode);
            }
        }
    }
    return utolso;
}

int main()
{
    int N;
    cin >> N;
    vector<vector<int>> adj(N+1);
    vector<bool> van_bejovo(N+1, false);

    for(int i = 1; i < N; i++){
        int a, b;
        cin >> a >> b;
        adj[a].push_back(b);
        van_bejovo[b] = true;
    }
    int start;
    for(int i = 1; i <= N; i++){
        if(!van_bejovo[i]){
            start = i;
            break;
        }
    }

    cout << BFS(adj, start, N);
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/078ms4916 KiB
3Elfogadva1/11ms500 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms540 KiB
6Elfogadva1/11ms328 KiB
7Elfogadva1/11ms376 KiB
8Elfogadva1/11ms316 KiB
9Elfogadva2/279ms5556 KiB
10Elfogadva3/383ms5476 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva4/481ms5848 KiB
13Elfogadva4/482ms5940 KiB
14Elfogadva3/38ms820 KiB
15Elfogadva3/385ms5940 KiB
16Elfogadva3/371ms5392 KiB
17Elfogadva3/381ms5368 KiB
18Elfogadva4/463ms4324 KiB
19Elfogadva4/468ms4916 KiB
20Elfogadva4/487ms6708 KiB