Uva679

Dropping Balls UVA - 679

思路:
和之前做的开关灯的题类似

只需要看小球的编号奇偶。

找规律就行,一直想推导出这个规律满足所有情况,但是没有想出来怎么推。

 1 #include<bits/stdc++.h>
 2 #define maxn 105
 3 #define LL long long
 4 using namespace std;
 5 int n,k,d;
 6 int main()
 7 {
 8     while(scanf("%d",&n)==1,n!=-1)
 9     {
10         while(n--)
11         {
12          int ans=1;
13           scanf("%d %d",&k,&d);
14           for(int i=0;i<k-1;i++)
15               if(d&1)
16               {
17                   ans=ans*2;
18                   d=(d+1)/2;
19               }
20               else
21               {
22                   ans=2*ans+1;
23                   d/=2;
24               }
25             printf("%d
",ans);
26           }
27         }
28     return 0;
29 }
原文地址:https://www.cnblogs.com/zuiaimiusi/p/10990411.html