1378 2022. 08. 30 10:46:34 TusySamu Színes fa cpp17 Elfogadva 50/50 150ms 28068 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, a;
    cin >> n;
    vector<vector<int> > x(n+1);
    vector<int> tav(n+1);
    for (int i=2; i<=n; i++) {
        cin >> a;
        x[a].push_back(i);
    }
    tav[1]=1;
    queue<int> q;
    q.push(1);
    int mi=INT_MAX;
    while (!q.empty()) {
        a=q.front();
        q.pop();
        for (int cs : x[a]) {
            tav[cs]=tav[a]+1;
            q.push(cs);
        }
        if (x[a].size()==0) mi=min(mi, tav[a]);
    }
    cout << mi << "\n";
    for (int i=1; i<=n; i++) cout << min(tav[i], mi) << " ";
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 7ms 2888 KiB
3 Elfogadva 1/1 2ms 2240 KiB
4 Elfogadva 4/4 2ms 2440 KiB
5 Elfogadva 5/5 116ms 26064 KiB
6 Elfogadva 2/2 128ms 21604 KiB
7 Elfogadva 3/3 128ms 21812 KiB
8 Elfogadva 2/2 135ms 21404 KiB
9 Elfogadva 2/2 127ms 21008 KiB
10 Elfogadva 2/2 126ms 22148 KiB
11 Elfogadva 2/2 143ms 24724 KiB
12 Elfogadva 2/2 135ms 25836 KiB
13 Elfogadva 2/2 148ms 26220 KiB
14 Elfogadva 2/2 138ms 26348 KiB
15 Elfogadva 2/2 136ms 27020 KiB
16 Elfogadva 2/2 136ms 26936 KiB
17 Elfogadva 2/2 137ms 26952 KiB
18 Elfogadva 2/2 150ms 27240 KiB
19 Elfogadva 2/2 149ms 27184 KiB
20 Elfogadva 2/2 150ms 27532 KiB
21 Elfogadva 2/2 138ms 27796 KiB
22 Elfogadva 2/2 138ms 28048 KiB
23 Elfogadva 2/2 141ms 28068 KiB
24 Elfogadva 3/3 140ms 28064 KiB