902021-01-10 21:27:36varikakasandorSzínes facpp11Elfogadva 50/50201ms60056 KiB
#include <bits/stdc++.h>
using namespace std;

int n,m;
int col[200001];
vector<int> g[200001];

int dfs(int x,int depth)
{
    col[x]=depth;
    if(g[x].empty()) return 1;
    int res=n+1;
    for(auto s:g[x]) res=min(res,dfs(s,depth+1)+1);
    return res;
}

int main () {
    cin>>n;
    for(int i=2;i<=n;i++)
    {
        int x;
        cin>>x;
        g[x].push_back(i);
    }
    int min_depth=dfs(1,1);
    cout<<min_depth<<endl;
    for(int i=1;i<=n;i++) cout<<((col[i]<=min_depth) ? col[i] : 1)<<" ";
    cout<<endl;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/06ms11104 KiB
2Elfogadva0/010ms11784 KiB
3Elfogadva1/16ms11244 KiB
4Elfogadva4/46ms11220 KiB
5Elfogadva5/5126ms45388 KiB
6Elfogadva2/2173ms23448 KiB
7Elfogadva3/3180ms24728 KiB
8Elfogadva2/2162ms25444 KiB
9Elfogadva2/2150ms25708 KiB
10Elfogadva2/2153ms27644 KiB
11Elfogadva2/2187ms31212 KiB
12Elfogadva2/2188ms33936 KiB
13Elfogadva2/2174ms35764 KiB
14Elfogadva2/2175ms37332 KiB
15Elfogadva2/2184ms38900 KiB
16Elfogadva2/2177ms40232 KiB
17Elfogadva2/2201ms41740 KiB
18Elfogadva2/2168ms43064 KiB
19Elfogadva2/2177ms44388 KiB
20Elfogadva2/2175ms45760 KiB
21Elfogadva2/2178ms47332 KiB
22Elfogadva2/2167ms49080 KiB
23Elfogadva2/2168ms54096 KiB
24Elfogadva3/3168ms60056 KiB