6462 | 2023. 12. 02 16:30:17 | horvathabel | Színes fa | cpp17 | Elfogadva 50/50 | 195ms | 59308 KiB |
#include <bits/stdc++.h>
using namespace std;
vector<int> g[200001];
vector<int> tav;
vector<bool> vangyereke;
int bfsminmely(){
queue<int> q;
int mntav=20000001;
tav[1]=1;
q.push(1);
while (!q.empty()){
int v=q.front();
q.pop();
for (int edge:g[v]){
tav[edge]=tav[v]+1;
q.push(edge);
}
if(!vangyereke[v]) mntav=min(mntav,tav[v]);
}
return mntav;
}
vector<int> color;
void dfs(int x,int clm){
color[x]=clm;
if (clm>1) clm--;
for (int edge:g[x]) dfs(edge,clm);
}
int main()
{
int n;
cin>>n;
tav.resize(n+1,0);
color.resize(n+1,-1);
vangyereke.resize(n+1,false);
for (int i=2; i<=n;i++){
int p;
cin>>p;
g[p].push_back(i);
vangyereke[p]=true;
}
int colordb=bfsminmely();
cout<<colordb<<endl;
dfs(1,colordb);
for (int i=1; i<=n;i++) cout<<color[i]<<" ";
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 6ms | 11236 KiB | |||
2 | Elfogadva | 0/0 | 10ms | 12224 KiB | |||
3 | Elfogadva | 1/1 | 7ms | 11856 KiB | |||
4 | Elfogadva | 4/4 | 6ms | 11780 KiB | |||
5 | Elfogadva | 5/5 | 120ms | 37968 KiB | |||
6 | Elfogadva | 2/2 | 142ms | 25804 KiB | |||
7 | Elfogadva | 3/3 | 140ms | 27132 KiB | |||
8 | Elfogadva | 2/2 | 167ms | 28096 KiB | |||
9 | Elfogadva | 2/2 | 142ms | 28984 KiB | |||
10 | Elfogadva | 2/2 | 145ms | 31072 KiB | |||
11 | Elfogadva | 2/2 | 144ms | 34968 KiB | |||
12 | Elfogadva | 2/2 | 152ms | 37368 KiB | |||
13 | Elfogadva | 2/2 | 156ms | 39160 KiB | |||
14 | Elfogadva | 2/2 | 177ms | 40552 KiB | |||
15 | Elfogadva | 2/2 | 173ms | 42456 KiB | |||
16 | Elfogadva | 2/2 | 179ms | 43976 KiB | |||
17 | Elfogadva | 2/2 | 179ms | 45464 KiB | |||
18 | Elfogadva | 2/2 | 178ms | 46844 KiB | |||
19 | Elfogadva | 2/2 | 164ms | 48252 KiB | |||
20 | Elfogadva | 2/2 | 178ms | 49492 KiB | |||
21 | Elfogadva | 2/2 | 177ms | 51116 KiB | |||
22 | Elfogadva | 2/2 | 179ms | 52368 KiB | |||
23 | Elfogadva | 2/2 | 195ms | 55700 KiB | |||
24 | Elfogadva | 3/3 | 172ms | 59308 KiB |