15452022-11-23 10:16:12TomaSajtSzínes facpp14Elfogadva 50/50131ms44724 KiB
#include <bits/stdc++.h>
#define speed ios::sync_with_stdio(0);cin.tie(0)
using namespace std;

vector<vector<int>> g;
vector<int> dist;
int m = INT_MAX;
void dfs(int u) {
    if (g[u].empty()) {
        m = min(m, dist[u]);
    }
    for (auto v : g[u]) {
        dist[v] = dist[u] + 1;
        dfs(v);
    }
}

int main() {
    speed;
    int n;
    cin >> n;
    g.resize(n + 1);
    dist.resize(n + 1);
    for (int i = 2; i <= n; i++) {
        int u; cin >> u;
        g[u].push_back(i);
    }
    dist[1] = 1;
    dfs(1);
    cout << m << '\n';
    for (int i = 1; i <= n; i++) {
        cout << min(m, dist[i]) << ' ';
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1768 KiB
2Elfogadva0/04ms2860 KiB
3Elfogadva1/12ms2248 KiB
4Elfogadva4/42ms2368 KiB
5Elfogadva5/567ms44724 KiB
6Elfogadva2/279ms21448 KiB
7Elfogadva3/386ms21656 KiB
8Elfogadva2/278ms21320 KiB
9Elfogadva2/272ms20488 KiB
10Elfogadva2/275ms21564 KiB
11Elfogadva2/278ms24000 KiB
12Elfogadva2/286ms25508 KiB
13Elfogadva2/2131ms26260 KiB
14Elfogadva2/287ms26600 KiB
15Elfogadva2/2114ms27020 KiB
16Elfogadva2/297ms27064 KiB
17Elfogadva2/2101ms27720 KiB
18Elfogadva2/289ms27744 KiB
19Elfogadva2/2101ms27776 KiB
20Elfogadva2/2101ms27768 KiB
21Elfogadva2/2101ms28372 KiB
22Elfogadva2/2104ms28696 KiB
23Elfogadva2/2112ms32688 KiB
24Elfogadva3/397ms37320 KiB