csu 1530: Gold Rush(贪心)

http://acm.csu.edu.cn/OnlineJudge/showsource.php?id=97234

 

#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
  //freopen("output.txt","w",stdout);
  long long int a,b;
  long long int  temp;
  int t,n;
  scanf("%d",&t);
  while(t--)
  {
    scanf("%d%lld%lld",&n,&a,&b);
    long long int  ans=1;
    for(int i=0;i<n;i++)
      ans*=2;
    if(b>a) a=b;
    int cnt=0;
    //printf("%lld\n",a);
    if(a==ans)
    {
      printf("0\n");
    }
    else
    {
      //cout<<"ddddddddddddd"<<endl;
      //printf("%lld %lld %lld %d\n",ans,a,temp,cnt);
      while(a>0)
      {
        temp=ans/2;
        ans=temp;
        if(a>=temp)
           a-=temp;
        cnt++;
        //printf("%lld %lld %lld %d\n",ans,a,temp,cnt);
      }
    }
    printf("%d\n",cnt);
  }
  return 0;
}

  

 

posted @ 2015-03-15 21:03  sola94  阅读(210)  评论(0编辑  收藏  举报