yyjn 2010-07-14 02:11:00
点我顶贴
收藏
删除
var
f:array[1..3000] of char;
a:array[0..10,1..2] of longint;
n,i,j:longint;
st:string;
procedure njc;
var i,j:integer;
begin
a[0,1]:=1;
a[0,2]:=1;
for i:=1 to 10 do
begin
a[i,1]:=a[i-1,2]+1;
a[i,2]:=1;
for j:=1 to i+1 do
a[i,2]:=a[i,2]*2;
a[i,2]:=a[i,2]-1;
end;
end;
procedure print(i:longint);
begin
if f[i*2]<>' ' then print(i*2);
if f[i*2+1]<>' ' then print(i*2+1);
write(f[i]);
end;
begin
readln(n);
njc;
readln(st);
for i:=1 to a[n+1,2] do
f[i]:=' ';
for i:=1 to length(st) do
if st[i]='1' then f[a[n,1]+i-1]:='I' else f[a[n,1]+i-1]:='B';
for i:=n-1 downto 0 do
for j:=a[i,1] to a[i,2] do
if f[j*2]=f[j*2+1] then f[j]:=f[j*2] else f[j]:='F';
print(1);
writeln;
end.