[蓝桥杯 2013 国 C] 横向打印二叉树

Luogu
IDLGP8603
Time1000ms
Memory128MB
DifficultyP4
模拟树形数据结构2013蓝桥杯国赛
其原理很简单:对于一个排序二叉树添加新节点时,先与根节点比较,若小则交给左子树继续处理,否则交给右子树。 当遇到空子树时,则把该节点放入那个位置。 比如,`10 8 5 7 12 4` 的输入顺序,应该建成二叉树如图 $1$ 所示。 本题目要求:根据已知的数字,建立排序二叉树,并在标准输出中横向打印该二叉树。 ## Input 输入数据为一行空格分开的 $N$ 个整数。$N<100$,每个数字不超过 $10000$。 $N$ 并没有在输入中给出。 输入数据中没有重复的数字。 ## Output 输出该排序二叉树的横向表示,为了便于评卷程序比对空格的数目,请把空格用句点代替。 [samples] ## Background 二叉树可以用于排序。 ## Note 样例解释 1: ![](https://cdn.luogu.com.cn/upload/image_hosting/4z42ybq4.png) 时限 1 秒, 64M。蓝桥杯 2013 年第四届国赛
Samples
Input #1
10 8 5 7 12 4
Output #1
...|-12
10-|
...|-8-|
.......|...|-7
.......|-5-|
...........|-4
Input #2
10 5 20
Output #2
...|-20
10-|
...|-5
Input #3
5 10 20 8 4 7
Output #3
.......|-20
..|-10-|
..|....|-8-|
..|........|-7
5-|
..|-4
API Response (JSON)
{
  "problem": {
    "name": "[蓝桥杯 2013 国 C] 横向打印二叉树",
    "description": {
      "content": "其原理很简单:对于一个排序二叉树添加新节点时,先与根节点比较,若小则交给左子树继续处理,否则交给右子树。 当遇到空子树时,则把该节点放入那个位置。 比如,`10 8 5 7 12 4` 的输入顺序,应该建成二叉树如图 $1$ 所示。 本题目要求:根据已知的数字,建立排序二叉树,并在标准输出中横向打印该二叉树。 ",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 131072
    },
    "difficulty": {
      "LuoguStyle": "P4"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP8603"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "其原理很简单:对于一个排序二叉树添加新节点时,先与根节点比较,若小则交给左子树继续处理,否则交给右子树。\n\n当遇到空子树时,则把该节点放入那个位置。\n\n比如,`10 8 5 7 12 4` 的输入顺序,应该建成二叉树如图 $1$ 所示。\n\n本题目要求:根据已知的数字,建立排序二叉树,并在标准输出中横向打印该二叉树。\n\n## Input\n\n输入数据为一行空格分开的 $N$ 个整数。$N<100$,每...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments