atcoder#ARC117C. [ARC117C] Tricolor Pyramid
[ARC117C] Tricolor Pyramid
题目描述
個のブロックが横一列に並んでおり、それぞれのブロックは青・白・赤のうちいずれかで塗られています。 左から 番目 のブロックの色は文字 で表され、B
は青、W
は白、R
は赤に対応しています。
この状態から青・白・赤のブロックを積み上げ、 段のピラミッドの形にします。以下の図がその一例です。
ここでは、ブロックを下から順に、以下の規則で 個ずつ置いていきます。
- 直下にある 個のブロックの色が同じ場合、それと同じ色のブロックを置く
- 直下にある 個のブロックの色が異なる場合、そのどちらでもない色のブロックを置く
このとき、一番上のブロックはどの色になるでしょうか?
输入格式
入力は以下の形式で標準入力から与えられます。
输出格式
一番上のブロックの色が青ならば B
、白ならば W
、赤ならば R
を出力してください。
题目大意
有一排 个积木,颜色有红蓝白三种。从左往右第 个积木的颜色为 。B
,W
,R
分别代表蓝,白,红这三种颜色。
我们将往积木上面继续堆叠红蓝白三种颜色的积木,使得它变成一个 层的金字塔,堆叠方式如下:
-
对于两个左右相邻的积木,如果颜色相同,则在它们上方居中位置放置一个相同颜色的积木。
-
对于两个左右相邻的积木,如果颜色不同,则在它们上方居中位置放置一个颜色与它们都不同的积木。
请求出金字塔顶部积木的颜色。
3
BWR
W
4
RRBB
W
6
BWWRBW
B
8
WWBRBBWB
R
21
BWBRRBBRWBRBBBRRBWWWR
B
提示
制約
- は を満たす整数
- はそれぞれ
B
,W
,R
のいずれか
Sample Explanation 1
この入力例では、ブロックを以下のように積み上げることになります。 - 一番下の段の左から 番目のブロックはそれぞれ青色・白色なので、その上に赤色のブロックを置く。 - 一番下の段の左から 番目のブロックはそれぞれ白色・赤色なので、その上に青色のブロックを置く。 - 下から 段目のブロックはそれぞれ赤色・青色なので,その上に白色のブロックを置く。 一番上のブロックの色は白となるため、W
を出力します。
Sample Explanation 2
この入力例では、ブロックを以下のように積み上げることになります。 - 一番下の段の左から 番目のブロックはそれぞれ赤色・赤色なので、その上に赤色のブロックを置く。 - 一番下の段の左から 番目のブロックはそれぞれ赤色・青色なので、その上に白色のブロックを置く。 - 一番下の段の左から 番目のブロックはそれぞれ青色・青色なので、その上に青色のブロックを置く。 - 下から 段目の左から 番目のブロックはそれぞれ赤色・白色なので、その上に青色のブロックを置く。 - 下から 段目の左から 番目のブロックはそれぞれ白色・青色なので、その上に赤色のブロックを置く。 - 下から 段目のブロックはそれぞれ青色・赤色なので、その上に白色のブロックを置く。 一番上のブロックの色は白となるため、W
を出力します。
Sample Explanation 3
最終的なブロックの並びは、以下の図のように表されます。一番上のブロックの色は青となるため、B
を出力します。 ![ ](https://img.atcoder.jp/arc117/333af8ef18ae0a6ce966c46492cb07e6.png) なお、これは問題文中に例示したケースと同じものになっています。
Sample Explanation 4
最終的なブロックの並びは、以下の図のように表されます。一番上のブロックの色は赤となるため、R
を出力します。 ![ ](https://img.atcoder.jp/arc117/36a2a6777ac49fa0bb43440de385dced.png)