您的位置:首页 > 其它

kitty猫的基因编码(栈)

2016-04-08 21:47 211 查看
Description  kitty的基因编码如下定义:
kitty的基因由一串长度2^k(k<=8)的01序列构成,为了方便研究,需要把,01序列转换为ABC编码。用T(s)来表示01序列s的ABC编码
T(s)=‘A'(当S全由'0'组成) T(s)=‘B'(当s全由'1'组成) T(s)=‘C'+T(s1)+T(s2)
s1,s2为把s等分为2个长度相等的子串 比如 T('00')='A'
T('00001111')='CAB'Input一行,长度为2^k,为kitty猫的01基因编码,有多个数据Output一行,由ABC构成的ABC编码Sample Input
01001011
Sample Output
CCCABACCBAB



解题思路:先用字符串读入,然后用递归,按照题目的要求进行转化,最后输出转化的结果即可。


程序:

var

s:ansistring;


function dg(s:ansistring):ansistring;

var

s1,s2:ansistring;

i,len,max1,max2:longint;

begin

if s=' ' then exit;

len:=length(s);

max1:=0;

max2:=0;

s1:='';

s2:='';

for i:=1 to len do

if s[i]='0' then inc(max1) else inc(max2);

if max1=len then exit('A');

if max2=len then exit('B');

for i:=1 to len div 2 do

begin

s1:=s1+s[i];

s2:=s2+s[i+(len div 2)];

end;

dg:='C'+dg(s1)+dg(s2);

end;


begin

readln(s);

writeln(dg(s));

end.



版权属于: Chris

原文地址: http://blog.sina.com.cn/s/blog_83ac6af80102v6tg.html

转载时必须以链接形式注明原始出处及本声明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: