atcoder#ARC136A. [ARC136A] A ↔ BB
[ARC136A] A ↔ BB
配点 : 点
問題文
A
, B
, C
からなる長さ の文字列 が与えられます.
あなたは, に対して以下の 種類の操作を好きな順序で好きな回数行うことができます.
- の中で
A
を選び,消す. 文字を消した位置に,新たにBB
を書き込む. - の中で隣接する 文字であって,
BB
となっているものを選び,消す. 文字を消した位置に,新たにA
を書き込む.
操作を終えたあとの としてあり得る文字列のうち,辞書順最小のものを求めてください.
辞書順とは?
辞書順とは簡単に説明すると「単語が辞書に載っている順番」を意味します。より厳密な説明として、相異なる文字列 と文字列 の大小を判定するアルゴリズムを以下に説明します。
以下では の 文字目の文字を のように表します。また、 が より辞書順で小さい場合は 、大きい場合は と表します。
- と のうち長さが短い方の文字列の長さを とします。 に対して と が一致するか調べます。
- である が存在する場合、そのような のうち最小のものを とします。そして、 と を比較して、 がアルファベット順で より小さい場合は 、大きい場合は と決定して、アルゴリズムを終了します。
- である が存在しない場合、 と の長さを比較して、 が より短い場合は 、長い場合は と決定して、アルゴリズムを終了します。
制約
- は
A
,B
,C
からなる長さ の文字列
入力
入力は以下の形式で標準入力から与えられる.
出力
答えを出力せよ.
4
CBAA
CAAB
以下のように操作すればよいです.
- 最初,
CBAA
である. - の 文字目の
A
を消し,BB
を書き込む.CBBBA
となる. - の 文字目の
BB
を消し,A
を書き込む.CABA
となる. - の 文字目の
A
を消し,BB
を書き込む.CABBB
となる. - の 文字目の
BB
を消し,A
を書き込む.CAAB
となる.
を CAAB
より辞書順で小さい文字列にすることはできません.
よって答えは CAAB
になります.
1
A
A
一度も操作を行いません.
6
BBBCBB
ABCA