杭电OJ(HDOJ)1030题:Delta-wave
2014-11-24 12:28
387 查看
题意:
输入两个数m和n,两数的取值范围为[1,1000000000],求出n到m的最短所花步骤。示例输入:
6 12示例输出:
3
解决方案:
#include<stdio.h> #include<math.h> int main() { int a,b; int aX,aY,bX,bY,aLayer,bLayer,step; while(scanf("%d%d",&a,&b)!=EOF) { aLayer=ceil(sqrt((double)a));//求出数a所在层 bLayer=ceil(sqrt((double)b));//求出数b所在层 if(aLayer==bLayer) printf("%d\n",abs(a-b)); else { aX=(aLayer*aLayer-a)/2;//计算a的X坐标 bX=(bLayer*bLayer-b)/2;//计算b的X坐标 aY=(a-(aLayer*aLayer-2*aLayer+2))/2;//计算a的Y坐标 bY=(b-(bLayer*bLayer-2*bLayer+2))/2;//计算b的Y坐标 step=abs(aX-bX)+abs(aY-bY)+abs(aLayer-bLayer); printf("%d\n",step);//求出最终步骤 } } }
相关文章推荐
- 杭电OJ——1030 Delta-wave
- 杭电OJ(HDOJ)1862题:EXCEL排序(结构体sort)
- 杭电OJ(HDOJ)1019题:求多个整数的最小公倍数(数论)
- 杭电OJ(HDOJ)1010题:Tempter of the Bone(DFS,迷宫求解)
- 杭电OJ(HDOJ)1005题:Number Sequence(规律递推)
- 杭电OJ(HDOJ):七夕节
- HDOJ杭电oj 1021Fabonacci Again 的一个愚蠢而又快速的方法
- HDOJ, 杭电1032, The 3n+1 problem. POJ, 北大OJ,1207....数学题。。又一发
- 杭电ACM 1030 Delta-wave java代码解析
- 杭电OJ(HDOJ)1047题:Integer Inquiry(大数操作——加运算)
- 杭电 1030 Delta-wave
- 杭电OJ(HDOJ)1392题:Surround the Trees(凸包问题)
- 杭电1030 Delta-wave (找规律)
- 杭电OJ(HDOJ)1013题:Digital Roots(数值分解)
- 杭电OJ(HDOJ)1029题:Ignatius and the Princess IV(数论)
- 杭电OJ(HDOJ)1063题:Exponentiation(大数操作——幂运算)
- HDOJ HDU 1030 Delta-wave
- HDOJ 1030 Delta-wave
- hdoj 1030 Delta-wave(3坐标)
- 杭电OJ(HDOJ)1088题:Write a simple HTML Browser(字符操作)