atcoder#AGC055A. [AGC055A] ABC Identity
[AGC055A] ABC Identity
配点 : 点
問題文
長さ の文字列 が与えられます。 は A
, B
, C
をそれぞれちょうど 個ずつ含みます。
文字 A
, B
, C
からなる文字列 が次の条件を満たすとき、 を 良い 文字列であると呼びます。
- の長さは で割り切れる。この長さを とする。
- 文字 は互いに異なる。
良い文字列の例を挙げると、ABC
, BBAACC
, AAACCCBBB
です。
を 6 個以下の(連続とは限らない)部分列に分解する方法であって、各部分列が良い文字列であるような方法を一つ見つけてください。
これは、この問題の制約下で必ず可能であることが証明できます。
制約
- 文字列 は、文字
A
,B
,C
を 個ずつ含む。
入力
入力は以下の形式で標準入力から与えられる。
出力
1
から 6
までの数字からなる長さ の文字列を出力せよ。文字列に含まれる各 について、 を出力した位置に対応する の文字を並べると良い文字列が得られるようにすること。
なお、答えが複数通り存在する場合、そのどれを出力しても正解とみなされる。
2
ABCCBA
111222
が部分列 ABC
, CBA
に分割されており、これらはそれぞれ良い文字列です。
4
AABCBCAACBCB
111211241244
の位置に対応する部分列は AABBCC
、 の位置に対応する部分列は CAB
、 の位置に対応する部分列は ACB
であり、これらは全て良い文字列です。