树的计数(tree)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
我们都知道二叉树有多种形态,对于一系列的二叉树,我们用下列规则对其进行编号:
-
空二叉树编号为 ;
-
仅含一个结点的二叉树编号为 ;
-
结点数为 的二叉树的编号小于结点数为 的二叉树的编号;
-
对于结点数量相同的二叉树 ,如果 的左子树编号大于 的左子树编号或者 的左子树编号相同但 的右子树编号大于 的右子树编号,那么二叉树 的编号大于二叉树 的编号。
例如,按照上述规则进行编号的前 10 棵二叉树如下图所示:
- 其中编号为 的二叉树左子树是仅含一个节点的二叉树,编号为 的二叉树左子树为空,满足条件 中左子树编号大的整棵树编号就大。
现在给你一个正整数 ,表示二叉树的编号,让你画出编号为 的二叉树的形状。
输入格式
输入仅包含一行一个正整数 ,表示二叉树的编号。
输出格式
输出仅一行,表示编号为 的二叉树的形状。
二叉树形状用下列字符串表示:
- 如果是仅包含一个结点的二叉树,则直接输出
X
- 如果二叉树的左、右子树编号分别为 和 ,已知 和 的输出形式分别为 和 ,那么输出
(L')X(R')
,让左子树为空时,输出X(R')
,当右子树为空时,输出(L')X
。
5
X((X)X)
20
((X)X(X))X
237074288
X(((((X)X)X)X(X))X((((((X)X(((X(X))X)X))X)X)X(X))X))
提示
【样例 1 解释】
编号为 的二叉树见题目图,根结点只有右子树,所以为 X(R'),右子树的根节点只有左子树,所以 R' 为 (X)X,整棵树为 X((X)X)。
【数据范围】
对于 的数据,满足 ;
对于 的数据,满足 。