题目地址:http://ac.jobdu.com/problem.php?cid=1040&pid=33
C语言地址:
#include<stdio.h>
#include<math.h>
int depth(int n)
{
return (int)(log(n)/log(2));
}
int main()
{
int i,n,a[1002],d;
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
scanf("%d",&d);
if(d<depth(n)+1)
{
i=(int)pow(2,d-1);
while(i<((int)pow(2,d)-1))
printf("%d ",a[i++]);
printf("%d\n",a[i]);
}
else
if(d==depth(n)+1)
{
i=(int)pow(2,d-1);
while(i<n)
printf("%d ",a[i++]);
printf("%d\n",a[i]);
}
else
printf("EMPTY\n");
}
}