讨论 / 只需考虑第一张牌的运动位置即可
RoyLee 2013-04-09 03:36:00
点我顶贴 收藏 删除
我试了,可以AC

#include <stdio.h>

main()

{

long n,wei=1,sum=0;

int flag=0;

scanf("%d",&n);

while (flag==0)

{

while (wei<=n) {wei*=2; sum++;}

if (wei==2*n) {flag=1; sum*=2;}

if (flag==0)

{

wei=(wei-n)*2-1;

sum++;

}

if (wei==1) flag=1;

}

printf("%d",sum);

}

查看更多回复
提交回复