ACdream 1020The Game about KILL

来源:互联网 发布:网络故障诊断分析 编辑:程序博客网 时间:2024/06/08 01:33

http://acdream.info/problem?pid=1020





n个人围成一个圈报数,报到偶数的人退出,求最后一个人在一开始的位置。
看到数据能到100000000的级别,肯定是有规律的,可以将前100的情况通过暴力打表出来就能看到规律了。




#include<bits/stdc++.h>using namespace std;int main(){     long long int er[11111];      er[0]=1;      er[1]=2;      for(int i=2;i<=30;i++)      er[i]=er[i-1]*2;      long long int n;      while(cin>>n)      {      int i;      if(n==1)      {      cout<<"1"<<endl;      continue;  }      for(i=0;i<=30;i++)      {      if(n>er[i])      n-=er[i];  }  long long int ans=(n+n-1);  cout<<ans<<endl;  //cout<<er[30]<<endl;  }return 0;}


原创粉丝点击