讨论 / Pascal题解
ZB神 2014-07-18 22: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.

查看更多回复
提交回复