알고리즘 문제/C++

[백준] 9934번 : 완전 이진 트리 - C++

lingk 2021. 1. 6. 20:13
//완전 이진 트리
int re[12][1101];
int input[1024];
void print(int k){
    for(int i=0;i<(pow(2,k)-1);++i){
       for(int j=0;j<k;++j){
           int po=pow(2,j);
           if((i/po)%2==0)
           {
               re[k-j-1][i/po/2] = input[i];
               break;
           }
       }
   }
}

int main(){
    int k;
    
    cin >> k;
    for(int i = 0;i<(pow(2,k) - 1);++i){
        cin >> input[i];
    }
    print(k);
    
    for(int i=0;i<k;i++){
        for(int j=0;j<pow(2,i);++j)
            cout << re[i][j] << ' ';
        cout<<endl;
    }
}
반응형