思路,既然第一步和最后一步都是只能走一步,那么一定步数的过程就是1,2,3,……n,……3,2,1。所以用一个sqrt()函数就能确定一半是多少步。初步就定型了,然后再通过几个比较来确定还得走几步重复的路。看代码。。。
#include<stdio.h>
#include<math.h>
int main()
{
int t,a,b;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&a,&b);
int c=b-a;
int sum;
if(c==0)
printf("0\n");
else
{
int k=(int)sqrt(c);
if(c==k*k)
sum=2*k-1;
else if(c-k*k<=k)
sum=2*k;
else
sum=2*k+1;
printf("%d\n",sum);
}
}
return 0;
}