13822022-08-30 11:29:09ZsofiaKeresztelySzínes facpp14Elfogadva 50/50151ms27624 KiB
#include <bits/stdc++.h>
using namespace std;
vector<vector<int> > g;
vector<int> d;
int c = 0;

void bfs(int start){
    queue<int> q;
    q.push(start);
    d[start] = 1;
    int v;
    while (!q.empty()){
        v = q.front();
        q.pop();
        if (!c && !g[v].size()){
            c = d[v];
        }
        for (int x : g[v]){
            d[x] = d[v] + 1;
            q.push(x);
        }
    }
}

int main() {
    int n, a;
    cin >> n;
    g.resize(n+1);
    d.assign(n+1, -1);
    for (int i=2; i<n+1; i++){
        cin >> a;
        g[a].push_back(i);
    }
    bfs(1);
    cout << c << "\n";
    for (int i=1; i<n+1; i++){
        cout << min(d[i], c) << " ";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1812 KiB
2Elfogadva0/07ms2884 KiB
3Elfogadva1/12ms2260 KiB
4Elfogadva4/42ms2500 KiB
5Elfogadva5/5115ms26264 KiB
6Elfogadva2/2128ms21716 KiB
7Elfogadva3/3136ms21948 KiB
8Elfogadva2/2135ms21836 KiB
9Elfogadva2/2129ms21176 KiB
10Elfogadva2/2134ms22012 KiB
11Elfogadva2/2137ms24288 KiB
12Elfogadva2/2143ms25640 KiB
13Elfogadva2/2143ms26048 KiB
14Elfogadva2/2146ms26172 KiB
15Elfogadva2/2137ms26864 KiB
16Elfogadva2/2137ms26852 KiB
17Elfogadva2/2149ms26896 KiB
18Elfogadva2/2149ms26896 KiB
19Elfogadva2/2140ms26940 KiB
20Elfogadva2/2137ms27456 KiB
21Elfogadva2/2151ms27560 KiB
22Elfogadva2/2142ms27612 KiB
23Elfogadva2/2146ms27556 KiB
24Elfogadva3/3151ms27624 KiB