UVA 679 - Dropping Balls

参考:https://www.cnblogs.com/zsyacm666666/p/5000162.html

https://blog.csdn.net/q547550831/article/details/51356503

https://blog.csdn.net/qq_38638213/article/details/77840873

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5 int main()
 6 {
 7     int t;
 8     while (cin>>t&&t!=-1)
 9     {
10         while (t--)
11         {
12             int d,i;
13             cin>>d>>i;
14             int k=1;//k是位置
15             for (int j=0;j<d-1;j++)
16             {
17                 if (i%2==0)//偶数时向右走
18                 {
19                     k=k*2+1;
20                     i=i/2;//求其是第几次向右走的球
21                 }
22                 else
23                 {
24                     k=k*2;
25                     i=(i+1)/2;
26                 }
27             }
28             cout<<k<<endl;
29         }
30     }
31 
32     return 0;
33 }

猜你喜欢

转载自www.cnblogs.com/hemeiwolong/p/9432690.html