#includeusing namespace std; int main() { int n; cin >> n; for(int i = 0 ; i < n ; i++){ int d,l; cin >> d >> l; int k = 1; for(int j = 0 ; j < d-1 ; j++){//循环d-1层,最后一层叶子节点不用计算 if(l%2){ k = 2*k; l = (l+1) / 2; } else{ k = 2*k + 1; l = l/2; } } cout << k << endl; } return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)