ZB神 2014-07-18 07:39:40
点我顶贴
收藏
删除
本题属于大水题,不过要注意数据范围,普通的String肯定是不够的,最后两个点会WA,因此使用Ansistring代替。
【代码】
program fbi;
var n,i:longint;
s:ansistring;
procedure mtree(s:ansistring);
var mid:longint;
left,right:ansistring;
begin
if length(s)=1 then
begin
if s='1' then write('I') else write('B');
end
else
begin
mid:=length(s) div 2;
left:=copy(s,1,mid);
right:=copy(s,mid+1,mid);
mtree(left);mtree(right);
if (pos('1',s)<>0) then
begin
if(pos('0',s)<>0) then write('F') else write('I');
end
else write('B');
end;
end;
begin
readln(n);
readln(s);
mtree(s);
writeln;
end.