UOJ Logo LFYZ Online Judge

LFYZOJ

#188. FBI树

统计

问题描述

我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为 $F$ 串。

FBI树是一种二叉树,它的结点类型也包括 F 结点,B 结点和 I 结点三种。由一个长度为 $2^N$ 的“01”串 $S$ 可以构造出一棵 FBI 树 $T$ ,递归的构造方法如下:

$T$ 的根结点为 $R$,其类型与串 $S$ 的类型相同;

若串 $S$ 的长度大于 1,将串 $S$ 从中间分开,分为等长的左右子串 $S_1$ 和 $S_2$;由左子串 $S_1$ 构造 $R$ 的左子树 $T_1$,由右子串 $S_2$ 构造 $R$ 的右子树 $T_2$。

现在给定一个长度为 $2^N$ 的“01”串,请用上述构造方法构造出一棵 FBI 树,并输出它的后序遍历序列。

示意图

输入格式

输入第一行是一个整数$ N(0 \leq N \leq 10)$,

第二行是一个长度为 $2^N$ 的“01”串。

输出格式

输出一行,这一行只包含一个字符串,即 FBI 树的后序遍历序列。

样例一

input

3
10001011

output

IBFBBBFIBFIIIFF

数据范围与约定

对于 $40\%$ 的数据,$ N \leq 2$;

对于 $100\%$ 的数据,$ N \leq 10$。

时间限制: $1\mathrm{s}$

内存限制: $256\mathrm{MB}$