kitty猫的基因编码(栈)
2016-04-08 21:47
281 查看
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
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
01001011Sample 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
转载时必须以链接形式注明原始出处及本声明。
相关文章推荐
- kitty猫的基因编码(栈)
- NOIP2011复赛普级组&nbsp;瑞士轮
- NOIP2011复赛普级组&nbsp;瑞士轮
- NOIP&nbsp;2011&nbsp;提高组第一试&nbsp;选择客栈
- NOIP&nbsp;2011&nbsp;提高组第一试&nbsp;选择客栈
- NOIP&nbsp;2011&nbsp;提高组第一试&nbsp;铺地毯
- NOIP&nbsp;2011&nbsp;提高组第一试&nbsp;铺地毯
- NOIP2011复赛普级组&nbsp;统计单词数
- NOIP2011复赛普级组&nbsp;统计单词数
- NOIP2011复赛普级组&nbsp;数字反转
- NOIP2011复赛普级组&nbsp;数字反转
- NOIP2010&nbsp;普级组&nbsp;导弹拦截
- NOIP2010&nbsp;普级组&nbsp;导弹拦截
- NOIP2010&nbsp;普级组&nbsp;三国游戏
- NOIP2010&nbsp;普级组&nbsp;三国游戏
- 2012年分区联赛提高组第一天第一题…
- 2012年分区联赛提高组第一天第一题…
- Codeforces Round #316 (Div. 2) D 【dfs序+二分】
- swust 1646 迷宫与宝藏
- hexo资源--theme等