THREECOL - Three-coloring of binary trees
A tree consists of a node and some (zero, one or two) subtrees connected to it. These subtrees are called children.
A specification of the tree is a sequence of digits. If the number of children in the tree is:
- zero, then the specification is a sequence with only one element '0';
- one, the specification begins with '1' followed by the specification of the child;
- two, the specification begins with '2' followed by the specification of the first child, and then by the specification of the second child.
Each of the vertices in the tree must be painted either red or green or blue.
However, we need to obey the following rules:
- the vertex and its child cannot have the same color,
- if a vertex has two children, then they must have different colors.
How many vertices may be painted green?
Write a program which:
- reads the specification of the tree from the standard input,
- computes the maximal and the minimal number of vertices that may be painted green,
- writes the results in the standard output.
The number of test cases t is in the first line of input, then t test cases follow in separate lines. Each test case consists of one word (no longer then 10000 characters), which is a specification of a tree.
Your program should write for each test case exactly two integers separated by a single space, which respectively denote the maximal and the minimal number of vertices that may be painted green.
Sample input: 1 1122002010 Sample output: 5 2
easy one :)
There's no empty line between test cases..
nice and easy
Solved a DP question almost after a month, AC in 1 go.... :)
Its very easy DP for me .. AC in one go
DP on tree :)
ANVER S R:
the following are the output obtained while running the program in my laptop.
ANVER S R:
check why i am getting wrong answer?