Noip2004P3 FBI树

18 篇文章 0 订阅
14 篇文章 0 订阅

题目:

 FBI树

来源:

 Noip2004P3

题目大意:

 有一个长度为2^N的字符串,将其构造成一棵树,树的两个儿子分别是其字符串的一  半,并后序输出这棵树上的字符串(全“0”串称为B串,全“1”串称为I串,既含“0”又  含“1”的串则称为F串)

数据范围:

 1 <= N <= 10

样例:

 3

 10001011

IBFBBBFIBFIIIFF

做题思路:

 看来还真是递归没写好,wa了好几次,这题就是一个递归,然后输出就好

知识点:

 递归

var
 s:ansistring;
 ch:char;
 n:longint;
//===========================================
function print(ss:ansistring):char;
var
 l:longint;
 lc,rc:char;
begin
 l:=length(ss);
 if l=1then
  begin
   casess[1] of
   '1':begin
         write('I');
         exit('I');
         end;
   '0':begin
         write('B');
         exit('B');
        end;
   end;
  end
 else
  begin
  lc:=print(copy(ss,1,l shr 1));
  rc:=print(copy(ss,l shr 1+1,l shr 1));
   if(lc=rc) then
   begin
    write(lc);
    exit(lc);
    end
   else
   begin
    write('F');
    exit('F');
   end;
  end;
end;
//=============================================
begin
 readln(n);
 readln(s);
 ch:=print(s);{<这个ch么用滴,只是一时没想起该怎么写>}
end.
题目来源: http://yuanti.tyvj.cn:8080/Problem_Show.asp?id=1044

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值