P1098 - 完全二叉树

题目描述

给定一棵完全二叉树的节点信息,请你使用顺序存储的方式(数组)去表示和存储这棵完全二叉树,比如:

1.png

现在请你根据输出格式要求输出每个二叉树节点的信息

输入格式

第1行,1个正整数n代表完全二叉树节点的个数

第2行,n个整数,代表每个二叉树节点中的数据(键值),使用空格分隔

输出格式

输出每个完全二叉树数节点的信息,从1 到n顺序输出各个节点的信息,每个节点的输出信息如下:

node id: key = k, parent key = pk, left key = lk, right key = rk,

最后一行,输出这棵完全二叉树的高度(根节点的高度为1)

输入输出样例

输入样例 输出样例
5
7 8 1 2 3
node 1: key = 7, left key = 8, right key = 1,
node 2: key = 8, parent key = 7, left key = 2, right key = 3,
node 3: key = 1, parent key = 7,
node 4: key = 2, parent key = 8,
node 5: key = 3, parent key = 8,
3

数据范围与提示

100%的数据:$1 \le n \le 250$,每个节点的值在int取值范围内

测试点数目

共10个测试点,每个测试点10分

时间与内存限制

每个测试点时间:1000ms(1.0s),内存:256MiB

输入输出模式

本OJ支持两种输入输出模式

1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:P1098.in,输出文件名为:P1098.out