679 Dropping Balls
叶子深度D为3,小球个数I为4。图解如下。
初始状态
第一个小球下落的状态(序号4)
第二个小球下落的状态(序号6)
第三个小球下落的状态(序号5)
第四个小球下落的状态(序号7)
#include<cstdio> using namespace std; int main() { int D, I,n; while (scanf("%d", &n)==1&&n!=-1) { while (n--) { 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 = I / 2; } printf("%d\n", k); } } } return 0; }