HDOJ  1210   Eddy's 洗牌问题

来源:互联网 发布:js 按字母排序 编辑:程序博客网 时间:2024/05/22 00:42

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1210

思考方向:每个牌从离开原来位置到原来位置停止
例如:1
1 2
2 4
3 8
4 3
5 6
612   //2^n;
711   //2^n-1;
8 9
9 5
10 10
11 7
12 1
最后返回到原来位置停止,,,,
#include<stdio.h>
int main()
{
 int n,M;
 int sum;
 while(scanf("%d",&M)!=EOF)
 {
  n=1;
  sum=0;
  while(1)
  {
   if(n<=M)
    n=2*n;
   else
    n=(n-M)*2-1;
   if(n==1)
    break;
   sum++;
  }
  printf("%d\n",sum+1);

 }
 return 0;
}

 

0 0
原创粉丝点击