13772022-08-30 10:40:36Valaki2Színes facpp14Elfogadva 50/50108ms36400 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pb push_back
#define mp make_pair
#define pii pair<int, int>
#define fi first
#define se second

const int maxn = 2e5;

int n;
vector<int> g[maxn + 1];
int dep[maxn + 1];

void dfs(int x) {
    for(int y : g[x]) {
        dep[y] = dep[x] + 1;
        dfs(y);
    }
}

void solve() {
    cin >> n;
    for(int i = 2; i <= n; i++) {
        int p;
        cin >> p;
        g[p].pb(i);
    }
    dep[1] = 1;
    dfs(1);
    int ans = maxn + 1;
    for(int i = 1; i <= n; i++) {
        if(g[i].size() == 0) {
            ans = min(ans, dep[i]);
        }
    }
    cout << ans << "\n";
    for(int i = 1; i <= n; i++) {
        cout << min(ans, dep[i]) << " ";
    }
    cout << "\n";
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    solve();
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/06ms11324 KiB
2Elfogadva0/08ms12052 KiB
3Elfogadva1/16ms11720 KiB
4Elfogadva4/46ms11992 KiB
5Elfogadva5/568ms36400 KiB
6Elfogadva2/283ms21660 KiB
7Elfogadva3/383ms21580 KiB
8Elfogadva2/282ms21248 KiB
9Elfogadva2/275ms20256 KiB
10Elfogadva2/279ms20944 KiB
11Elfogadva2/286ms23320 KiB
12Elfogadva2/296ms24788 KiB
13Elfogadva2/294ms25292 KiB
14Elfogadva2/296ms25580 KiB
15Elfogadva2/298ms25880 KiB
16Elfogadva2/2101ms25960 KiB
17Elfogadva2/2101ms26380 KiB
18Elfogadva2/297ms26624 KiB
19Elfogadva2/298ms26704 KiB
20Elfogadva2/298ms26764 KiB
21Elfogadva2/2100ms27004 KiB
22Elfogadva2/2101ms27196 KiB
23Elfogadva2/2107ms29580 KiB
24Elfogadva3/3108ms32180 KiB