#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int whichRow(int x)
{
return 1+(int)(sqrt(x-1));
}
int whichLeft(int row,int num)
{
int leftNum;
leftNum=row*row-2*row+2;//最左边的数字
return (num-leftNum)/2;
}
int whichRight(int row,int num)
{
int rightNum;
row++;
rightNum=row*row-2*row+2-1;
return (rightNum-num)/2;
}
int main()
{
int M,N;
int sum=0;
int rowM,rowN;
while(cin>>M>>N)
{
sum=0;
rowM=whichRow(M);
rowN=whichRow(N);
sum+=abs(rowM-rowN);
sum+=abs(whichLeft(rowM,M)-whichLeft(rowN,N));
sum+=abs(whichRight(rowM,M)-whichRight(rowN,N));
cout<<sum<<endl;
}
return 0;
}
hdu1030
猜你喜欢
转载自blog.csdn.net/artistkeepmonkey/article/details/88260226
今日推荐
周排行