atcoder#ARC117C. [ARC117C] Tricolor Pyramid

[ARC117C] Tricolor Pyramid

题目描述

N N 個のブロックが横一列に並んでおり、それぞれのブロックは青・白・赤のうちいずれかで塗られています。 左から i i 番目 (1  i  N) (1\ \leq\ i\ \leq\ N) のブロックの色は文字 ci c_i で表され、B は青、W は白、R は赤に対応しています。

この状態から青・白・赤のブロックを積み上げ、N N 段のピラミッドの形にします。以下の図がその一例です。

ここでは、ブロックを下から順に、以下の規則で 1 1 個ずつ置いていきます。

  • 直下にある 2 2 個のブロックの色が同じ場合、それと同じ色のブロックを置く
  • 直下にある 2 2 個のブロックの色が異なる場合、そのどちらでもない色のブロックを置く

このとき、一番上のブロックはどの色になるでしょうか?

输入格式

入力は以下の形式で標準入力から与えられます。

N N c1 c_1 c2 c_2 \cdots cN c_N

输出格式

一番上のブロックの色が青ならば B、白ならば W、赤ならば R を出力してください。

题目大意

有一排 NN 个积木,颜色有红蓝白三种。从左往右第 ii 个积木的颜色为 ci (1iN)c_i\ (1\le i \le N)BWR 分别代表蓝,白,红这三种颜色。

我们将往积木上面继续堆叠红蓝白三种颜色的积木,使得它变成一个 NN 层的金字塔,堆叠方式如下:

  • 对于两个左右相邻的积木,如果颜色相同,则在它们上方居中位置放置一个相同颜色的积木。

  • 对于两个左右相邻的积木,如果颜色不同,则在它们上方居中位置放置一个颜色与它们都不同的积木。

请求出金字塔顶部积木的颜色。

3
BWR
W
4
RRBB
W
6
BWWRBW
B
8
WWBRBBWB
R
21
BWBRRBBRWBRBBBRRBWWWR
B

提示

制約

  • N N 2  N  400000 2\ \leq\ N\ \leq\ 400000 を満たす整数
  • c1, c2, , cN c_1,\ c_2,\ \dots,\ c_N はそれぞれ BWR のいずれか

Sample Explanation 1

この入力例では、ブロックを以下のように積み上げることになります。 - 一番下の段の左から 1, 2 1,\ 2 番目のブロックはそれぞれ青色・白色なので、その上に赤色のブロックを置く。 - 一番下の段の左から 2, 3 2,\ 3 番目のブロックはそれぞれ白色・赤色なので、その上に青色のブロックを置く。 - 下から 2 2 段目のブロックはそれぞれ赤色・青色なので,その上に白色のブロックを置く。 一番上のブロックの色は白となるため、W を出力します。

Sample Explanation 2

この入力例では、ブロックを以下のように積み上げることになります。 - 一番下の段の左から 1, 2 1,\ 2 番目のブロックはそれぞれ赤色・赤色なので、その上に赤色のブロックを置く。 - 一番下の段の左から 2, 3 2,\ 3 番目のブロックはそれぞれ赤色・青色なので、その上に白色のブロックを置く。 - 一番下の段の左から 3, 4 3,\ 4 番目のブロックはそれぞれ青色・青色なので、その上に青色のブロックを置く。 - 下から 2 2 段目の左から 1, 2 1,\ 2 番目のブロックはそれぞれ赤色・白色なので、その上に青色のブロックを置く。 - 下から 2 2 段目の左から 2, 3 2,\ 3 番目のブロックはそれぞれ白色・青色なので、その上に赤色のブロックを置く。 - 下から 3 3 段目のブロックはそれぞれ青色・赤色なので、その上に白色のブロックを置く。 一番上のブロックの色は白となるため、W を出力します。

Sample Explanation 3

最終的なブロックの並びは、以下の図のように表されます。一番上のブロックの色は青となるため、B を出力します。 ![ ](https://img.atcoder.jp/arc117/333af8ef18ae0a6ce966c46492cb07e6.png) なお、これは問題文中に例示したケースと同じものになっています。

Sample Explanation 4

最終的なブロックの並びは、以下の図のように表されます。一番上のブロックの色は赤となるため、R を出力します。 ![ ](https://img.atcoder.jp/arc117/36a2a6777ac49fa0bb43440de385dced.png)