13782022-08-30 10:46:34TusySamuSzínes facpp17Elfogadva 50/50150ms28068 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ÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1812 KiB
2Elfogadva0/07ms2888 KiB
3Elfogadva1/12ms2240 KiB
4Elfogadva4/42ms2440 KiB
5Elfogadva5/5116ms26064 KiB
6Elfogadva2/2128ms21604 KiB
7Elfogadva3/3128ms21812 KiB
8Elfogadva2/2135ms21404 KiB
9Elfogadva2/2127ms21008 KiB
10Elfogadva2/2126ms22148 KiB
11Elfogadva2/2143ms24724 KiB
12Elfogadva2/2135ms25836 KiB
13Elfogadva2/2148ms26220 KiB
14Elfogadva2/2138ms26348 KiB
15Elfogadva2/2136ms27020 KiB
16Elfogadva2/2136ms26936 KiB
17Elfogadva2/2137ms26952 KiB
18Elfogadva2/2150ms27240 KiB
19Elfogadva2/2149ms27184 KiB
20Elfogadva2/2150ms27532 KiB
21Elfogadva2/2138ms27796 KiB
22Elfogadva2/2138ms28048 KiB
23Elfogadva2/2141ms28068 KiB
24Elfogadva3/3140ms28064 KiB