红和蓝
题号:NC217260
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

你拿到了一棵树,请你给每个顶点染成红色或蓝色。
要求:每个红点周围有且仅有一个红点,每个蓝点周围有且仅有一个蓝点。
“周围”的定义:某点周围的点指通过邻边直接连接的点。
所谓树,即没有自环、重边和回路的无向连通图。

输入描述:

第一行一个正整数 ,代表树的顶点个数.。
接下来的  行,每行两个正整数  和 ,代表点  和点  有一条边连接。    
保证输入的一定是一棵合法的树。

输出描述:

如果可以达成染色的要求,请输出一个长度为  的字符串,第   个字符代表第   个顶点的染色情况,'B' 代表蓝色,'R' 代表红色。(若有多种合法染色的方法,输出任意一种即可)
否则直接输出-1。
示例1

输入

复制
4
1 2
2 3
3 4

输出

复制
RRBB

说明

1为红点,它连接的边有只有一个红点:2
2为红点,它连接的边有只有一个红点:1
3为蓝点,它连接的边有只有一个蓝点:4
4为蓝点,它连接的边有只有一个蓝点:3
示例2

输入

复制
4
1 2
1 3
1 4

输出

复制
-1

说明

可以证明,无论怎么染色,都无法满足题目的要求。