uva679

看了书上的分析写的,不需要建树,知道第i个ball就能知道对应的叶子结点,不用进行前i-1个球掉落过程

#include<stdio.h>
int main(){
    int l,d,i;
    scanf("%d",&l);
    while(l--&&scanf("%d%d",&d,&l)==2){
        int k=1;
        for(int t=1;t<d;t++){
            if(l%2==1){
               l=(l+1)/2;
               k=2*k;
            }
            else{
                l/=2;
                 k=k*2+1;
            }
        }
        printf("%d\n",k);
    }
    return 0;
}

 

posted on 2016-09-07 19:51  SijingLin  阅读(140)  评论(0编辑  收藏  举报

导航