题解 | #树查找#
树查找
https://www.nowcoder.com/practice/9a10d5e7d99c45e2a462644d46c428e4
//KY194 树查找
//有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。
#include<bits/stdc++.h>
using namespace std;
int main() {
int n ;
int arr[100];
scanf("%d", &n);
int count = 0;
for (int i = 1 ; i <= n; i++) {
scanf("%d", &arr[i]);
count++;
}
int sum = log(count) / log(2) + 1; //有多少层
int m ;
scanf("%d", &m); //深度
if (m == 1) { //第一层
printf("%d", arr[1]);
} else if (m > sum) {
printf("EMPTY");
} else {
for (int i = pow(2, m - 1); i <= pow(2, m) - 1; ++i) {
printf("%d ", arr[i]);
}
}
}
