252952026-02-19 02:11:21999Színes facpp17Elfogadva 50/50196ms17372 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;
#define int long long

const int MOD=20210108;

signed main() {
    int n;cin>>n;
    vector<int> p(n),dp(n,-1),vane(n);
    vector<vector<int>> v(n);
    dp[0]=1;
    for(int i = 1;i<n;i++){
        cin>>p[i];
        p[i]--;
        vane[p[i]]=1;
        v[p[i]].push_back(i);
    }
    queue<int> q;
    q.push(0);
    while(!q.empty()){
        int a=q.front();
        q.pop();
        for(int u : v[a]){
            if(dp[u]==-1){
                dp[u]=dp[a]+1;
                q.push(u);
            }
        }
    }
    int k=n;
    for(int i = 0;i<n;i++){
        if(!vane[i]){
            k=min(k,dp[i]);
        }
    }
    cout<<k<<endl;
    for(int i : dp)cout<<i%k+1<<' ';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms500 KiB
2Elfogadva0/07ms1092 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva4/41ms316 KiB
5Elfogadva5/5116ms17372 KiB
6Elfogadva2/2177ms14388 KiB
7Elfogadva3/3141ms14388 KiB
8Elfogadva2/2175ms14104 KiB
9Elfogadva2/2165ms14132 KiB
10Elfogadva2/2171ms14384 KiB
11Elfogadva2/2152ms15412 KiB
12Elfogadva2/2168ms16252 KiB
13Elfogadva2/2187ms16180 KiB
14Elfogadva2/2196ms16436 KiB
15Elfogadva2/2164ms16436 KiB
16Elfogadva2/2184ms16692 KiB
17Elfogadva2/2190ms16692 KiB
18Elfogadva2/2196ms16692 KiB
19Elfogadva2/2162ms16692 KiB
20Elfogadva2/2184ms16944 KiB
21Elfogadva2/2163ms16948 KiB
22Elfogadva2/2165ms16948 KiB
23Elfogadva2/2196ms17204 KiB
24Elfogadva3/3185ms17204 KiB