这题和《算法竞赛入门经典》上的题目差不多,如果模拟每个小球下落的话,肯定会超时,但是有规律,可以直接模拟最后一个小球的路线。
#include<stdio.h>
int main()
{
int n,i,k,D,I;
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&D,&I);
k = 1;
for(i = 0; i < D-1; i++)
{ k = 2*k+1-(I&1); I = (I+1)/2; }
printf("%d\n",k);
}
scanf("%d",&n);
return 0;
}