233082026-01-18 19:57:39abcdSzínes facpp17Elfogadva 50/50159ms13364 KiB
#include <bits/stdc++.h>
using namespace std;
using pii=pair<int,int>;

int main(){
    int n;cin>>n;
    vector<vector<int>> adj(n+1);
    for(int i=2;i<=n;i++){
        int a;cin>>a;
        adj[a].push_back(i);
    }
    queue<pii> q;
    q.push({1,1});
    vector<int> c(n+1);
    int ans=0;
    while(!q.empty()){
        auto [v,col]=q.front();q.pop();
        if(ans){
            c[v]=ans;
        }
        else {
            c[v]=col;
            if(adj[v].size()==0)ans=col;
        }
        for(int u:adj[v])q.push({u,col+1});
    }
    cout<<ans<<'\n';
    for(int i=1;i<=n;i++)cout<<c[i]<<' ';cout<<'\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/06ms820 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva4/41ms316 KiB
5Elfogadva5/5112ms13364 KiB
6Elfogadva2/2128ms10156 KiB
7Elfogadva3/3128ms10148 KiB
8Elfogadva2/2133ms9868 KiB
9Elfogadva2/2120ms9524 KiB
10Elfogadva2/2141ms10308 KiB
11Elfogadva2/2143ms11572 KiB
12Elfogadva2/2133ms12084 KiB
13Elfogadva2/2128ms12340 KiB
14Elfogadva2/2144ms12340 KiB
15Elfogadva2/2144ms12596 KiB
16Elfogadva2/2133ms12596 KiB
17Elfogadva2/2143ms12852 KiB
18Elfogadva2/2145ms12744 KiB
19Elfogadva2/2143ms12848 KiB
20Elfogadva2/2129ms13108 KiB
21Elfogadva2/2128ms13120 KiB
22Elfogadva2/2129ms13108 KiB
23Elfogadva2/2153ms13108 KiB
24Elfogadva3/3159ms13172 KiB