#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