文章

119

粉丝

68

获赞

92

访问

20.0k

头像
树查找 题解:数学解
P1386 北京邮电大学
发布于2025年2月11日 16:49
阅读数 70

#include <bits/stdc++.h>

using namespace std;

int getPos(int h){
    return (1 << (h-1)) - 1; // 2^(h-1) - 1
}

int main() {
    int n;
    while(cin>>n){
        vector<int> a(n),b;
        for(int i=0;i<n;i++)cin>>a[i];
        int h;cin>>h;
        int start = getPos(h);
        int end = getPos(h+1);
        for(int i=start;i<end&&i<n;i++){
            b.push_back(a[i]);
        }
        if(b.empty())cout<<"EMPTY"<<endl;
        else {
            for(auto x:b)cout<<x<<' ';
            cout<<endl;
        }
    }
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发