Problem11401--DP58 红和蓝

11401: DP58 红和蓝

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

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

Input

第一行一个正整数 $n$,代表树的顶点个数.。$(1≤n≤100000)$
接下来的 $n−1$ 行,每行两个正整数 $u$ 和 $v$,代表点 $u$ 和点 $v$ 有一条边连接。$(1≤u,v≤n)$
保证输入的一定是一棵合法的树。

Output

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

Sample 1 Input

4
1 2
2 3
3 4

Sample 1 Output

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

Sample 2 Input

4
1 2
1 3
1 4

Sample 2 Output

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

Source/Category

树形DP