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\n",ans); 26 } 27 } 28 return 0; 29 }
?