93 | 2021. 01. 11 20:27:01 | Babják Péter | Színes fa | cpp11 | Elfogadva 50/50 | 144ms | 28520 KiB |
#include <iostream>
#include <vector>
#define N 200001
using namespace std;
int col[N];
vector<int>child[N];
int p=N;
void bfs(int z)
{
vector<int>sor;
sor.push_back(z);
for(int i=0;i<sor.size();i++)
{
int v=sor[i];
for(int u: child[v])
{
if(child[u].size()==0 )
{
if(p==N)
{
col[u]=col[v]+1;
p=col[u]+1;
}
col[u]=(col[v]+1)%p;
continue;
}
sor.push_back(u);
col[u]=(col[v]+1)%p;
}
}
}
int main()
{
int n;
ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
cin>>n;
col[0]=0;
for(int i=1;i<n;i++)
{
int a;cin>>a;a--;
child[a].push_back(i);
}
bfs(0);
cout<<p<<endl;
for(int i=0;i<n;i++)
{
cout<<col[i]+1<<" ";
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 6ms | 11084 KiB | |||
2 | Elfogadva | 0/0 | 8ms | 11944 KiB | |||
3 | Elfogadva | 1/1 | 4ms | 11192 KiB | |||
4 | Elfogadva | 4/4 | 4ms | 11196 KiB | |||
5 | Elfogadva | 5/5 | 65ms | 28172 KiB | |||
6 | Elfogadva | 2/2 | 103ms | 23008 KiB | |||
7 | Elfogadva | 3/3 | 112ms | 23016 KiB | |||
8 | Elfogadva | 2/2 | 103ms | 22544 KiB | |||
9 | Elfogadva | 2/2 | 97ms | 21500 KiB | |||
10 | Elfogadva | 2/2 | 103ms | 22228 KiB | |||
11 | Elfogadva | 2/2 | 122ms | 25428 KiB | |||
12 | Elfogadva | 2/2 | 122ms | 26856 KiB | |||
13 | Elfogadva | 2/2 | 126ms | 27448 KiB | |||
14 | Elfogadva | 2/2 | 128ms | 27772 KiB | |||
15 | Elfogadva | 2/2 | 126ms | 28100 KiB | |||
16 | Elfogadva | 2/2 | 128ms | 28196 KiB | |||
17 | Elfogadva | 2/2 | 144ms | 28316 KiB | |||
18 | Elfogadva | 2/2 | 127ms | 28400 KiB | |||
19 | Elfogadva | 2/2 | 130ms | 28404 KiB | |||
20 | Elfogadva | 2/2 | 127ms | 28480 KiB | |||
21 | Elfogadva | 2/2 | 126ms | 28512 KiB | |||
22 | Elfogadva | 2/2 | 128ms | 28444 KiB | |||
23 | Elfogadva | 2/2 | 136ms | 28500 KiB | |||
24 | Elfogadva | 3/3 | 135ms | 28520 KiB |