算法入门经典P150(二叉树的二进制编号)

#include<cstdio>
#include<cstring>
const int maxn = 20;
int main(){
    int D,I;
    while(scanf("%d%d",&D,&I)==2){
        int k = 1;
        for(int i=0;i<D-1;i++){
            if(I%2){k = k*2;    I = (I+1)/2;}
            else{k = k*2+1;        I /= 2;}
        }
        printf("%d\n",k);
    }
    return 0;
} 

 

posted @ 2021-07-20 15:47  智人心  阅读(103)  评论(0)    收藏  举报