#C09L03P06. C09.L03.分治-循环赛程问题.练习5.基因编码

C09.L03.分治-循环赛程问题.练习5.基因编码

题目描述

小可可选修了基础生物基因学。教授告诉大家 Super Samuel 星球上 Kitty 猫的基因的长度都是 22 的正整数次幂 2k2^k ( k10k \le 10 ),全是由两种不同的基因单元组成的。这两种不同的基因单元分别记成 0011 ,于是 Kitty 猫的基因可以写成一个 0101 串表达式 SS

为了便于分析和降低数据存储量,教授发明了 ABC 编码规则。该编码规则是不断地按照 :

  1. TT(SS)= AA (若 SS 串全是 00

  2. TT(SS)= BB (若 SS 串全是 11

  3. CTCT(S1S_1)TT(S2S_2)(否则把 SS 串分成两个等长的子串 S1S_1S2S_2

对 Kitty 猫基因 0101 串表达式 SS 进行改写,直至最终被改写成只含有字符 “A”、“B”、“C”的符号串。

例如 TT(01001011)

= CTCT(0100)TT(1011)

= CCTCCT(01)TT(00)C TT(10)TT(11)

= CCCTCCCT(0)TT(1) ACCTACCT(1)TT(0)BB

= CCCABACCBABCCCABACCBAB

请你编写程序帮助小可可求出 Kitty 猫基因的 ABCABC 编码以协助教授开展科研工作。

输入格式

以一行的形式存放 Kitty 猫基因的 0101 串表达式。

输出格式

以一行的形式输出这个 Kitty 猫基因的 ABCABC 编码。

样例

01001011
CCCABACCBAB