CF1481F.AB Tree

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Kilani and Abd are neighbors for 3000 years, but then the day came and Kilani decided to move to another house. As a farewell gift, Kilani is going to challenge Abd with a problem written by their other neighbor with the same name Abd.

The problem is:

You are given a connected tree rooted at node 11 .

You should assign a character a or b to every node in the tree so that the total number of a's is equal to xx and the total number of b's is equal to nxn - x .

Let's define a string for each node vv of the tree as follows:

  • if vv is root then the string is just one character assigned to vv :
  • otherwise, let's take a string defined for the vv 's parent pvp_v and add to the end of it a character assigned to vv .

You should assign every node a character in a way that minimizes the number of distinct strings among the strings of all nodes.

输入格式

The first line contains two integers nn and xx ( 1n1051 \leq n \leq 10^5 ; 0xn0 \leq x \leq n ) — the number of vertices in the tree the number of a's.

The second line contains n1n - 1 integers p2,p3,,pnp_2, p_3, \dots, p_{n} ( 1pin1 \leq p_i \leq n ; piip_i \neq i ), where pip_i is the parent of node ii .

It is guaranteed that the input describes a connected tree.

输出格式

In the first line, print the minimum possible total number of distinct strings.

In the second line, print nn characters, where all characters are either a or b and the ii -th character is the character assigned to the ii -th node.

Make sure that the total number of a's is equal to xx and the total number of b's is equal to nxn - x .

If there is more than one answer you can print any of them.

输入输出样例

  • 输入#1

    9 3
    1 2 2 4 4 4 3 1

    输出#1

    4
    aabbbbbba

说明/提示

The tree from the sample is shown below:

The tree after assigning characters to every node (according to the output) is the following:

Strings for all nodes are the following:

  • string of node 11 is: a
  • string of node 22 is: aa
  • string of node 33 is: aab
  • string of node 44 is: aab
  • string of node 55 is: aabb
  • string of node 66 is: aabb
  • string of node 77 is: aabb
  • string of node 88 is: aabb
  • string of node 99 is: aa

The set of unique strings is {a,aa,aab,aabb}\{\text{a}, \text{aa}, \text{aab}, \text{aabb}\} , so the number of distinct strings is 44 .

首页