atcoder#AGC036E. [AGC036E] ABC String
[AGC036E] ABC String
配点 : 点
問題文
A
,B
,C
からなる文字列 が与えられます。
の連続とは限らない部分列 であって、次の条件をすべて満たすもののうち、最長のものを つ求めてください。 なお、 の部分列とは、 から 個以上の文字を削除して得られる文字列を意味します。
- に含まれる
A
,B
,C
それぞれの個数は全て等しい。 - の中で同じ文字は隣り合わない。
制約
- は
A
,B
,C
からなる。
入力
入力は以下の形式で標準入力から与えられる。
出力
条件を満たす最長の部分列を つ出力せよ。 解が複数ある場合は、どれを出力しても正解とみなされる。
ABBCBCAB
ACBCAB
の部分列として、ACBCAB
を考えると、これは条件を満たしており、またこれが最長です。
また、ABCBCA
も条件を満たす最長の部分列です。
ABCBCAB
, ABBCCA
なども の部分列ですが、これらは条件を満たしません。
ABABABABACACACAC
BABCAC
ABCABACBCBABABACBCBCBCBCBCAB
ACABACABABACBCBCBCBCA
AAA
条件を満たす部分列が空文字列のみのこともあります。