1863 2022. 12. 06 09:55:13 kdb Legtávolabbi leszármazott cpp11 Elfogadva 50/50 63ms 23636 KiB
#include <iostream>
#include <vector>
#include <unordered_map>
#include <queue>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    int n;
    cin >> n;
    unordered_map<int, int> m;
    vector<vector<int>> vec(n+1, vector<int>(0, 0));
    for (size_t i = 0; i < n-1; i++)
    {
        int a, b;
        cin >> a >> b;
        vec[a].push_back(b);
        m[b]++;
    }
    int kezdet = 0;
    for (size_t i = 1; i < n+1; i++)
    {
        if (m[i] == 0)
        {
            kezdet = i;
            break;
        }
    }
    vector<bool> visited(n + 1, false);
    visited[kezdet] = true;
    queue<int> q;
    int s = kezdet;
    q.push(kezdet);
    while (!q.empty())
    {
        s = q.front();
        q.pop();
        for (int i : vec[s])
        {
            if (!visited[i])
            {
                visited[i] = true;
                q.push(i);
            }
        }
    }
    cout << s << endl;
}
/*
8
1 4
5 7
8 6
8 5
3 1
3 2
3 8
*/
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 2108 KiB
2 Elfogadva 0/0 54ms 18540 KiB
3 Elfogadva 1/1 2ms 2416 KiB
4 Elfogadva 3/3 2ms 2476 KiB
5 Elfogadva 3/3 2ms 2676 KiB
6 Elfogadva 1/1 2ms 2840 KiB
7 Elfogadva 1/1 2ms 3056 KiB
8 Elfogadva 1/1 2ms 3344 KiB
9 Elfogadva 2/2 50ms 20032 KiB
10 Elfogadva 3/3 50ms 20032 KiB
11 Elfogadva 3/3 2ms 3656 KiB
12 Elfogadva 4/4 57ms 21468 KiB
13 Elfogadva 4/4 56ms 21676 KiB
14 Elfogadva 3/3 7ms 5184 KiB
15 Elfogadva 3/3 52ms 21948 KiB
16 Elfogadva 3/3 54ms 21260 KiB
17 Elfogadva 3/3 56ms 21112 KiB
18 Elfogadva 4/4 37ms 16512 KiB
19 Elfogadva 4/4 46ms 18164 KiB
20 Elfogadva 4/4 63ms 23636 KiB