C++ 代码
#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
int a[N];
int main()
{
int n,m;cin>>n;
for(int i=1;i<=n;++i)cin>>a[i];
int k;cin>>k;
if(1<<k-1>n){ //看第k层的第一个结点在不在n内
cout<<"EMPTY";
return 0;
}
if((1<<k)-1<n)m=(1<<k)-1; //确定k层输出的最后一个结点
else m=n;
for(int i=1<<k-1;i<=m;++i){
cout<<a[i]<<" ";
}
}