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