杭电OJ——1030 Delta-wave
来源:互联网 发布:37轩辕剑四极进阶数据 编辑:程序博客网 时间:2024/06/14 14:06
Delta-wave
Problem Description
A triangle field is numbered with successive integers in the way shown on the picture below.
![](http://acm.hdu.edu.cn/data/images/1030-1.jpg)
The traveller needs to go from the cell with number M to the cell with number N. The traveller is able to enter the cell through cell edges only, he can not travel from cell to cell through vertices. The number of edges the traveller passes makes the length of the traveller's route.
Write the program to determine the length of the shortest route connecting cells with numbers N and M.
![](http://acm.hdu.edu.cn/data/images/1030-1.jpg)
The traveller needs to go from the cell with number M to the cell with number N. The traveller is able to enter the cell through cell edges only, he can not travel from cell to cell through vertices. The number of edges the traveller passes makes the length of the traveller's route.
Write the program to determine the length of the shortest route connecting cells with numbers N and M.
Input
Input contains two integer numbers M and N in the range from 1 to 1000000000 separated with space(s).
Output
Output should contain the length of the shortest route.
Sample Input
6 12
Sample Output
3
Source
Ural Collegiate Programming Contest 1998
Recommend
lcy
具体的算法参考这里!http://blog.sina.com.cn/s/blog_790ba68b01016sxc.html
代码如下:
#include <stdio.h>#include <math.h>void find(int n, int &l, int &r, int &level){ int i; level = 1; for (i = 1; ; i += 2) { if (n - i <= 0) { l = (n + 1) / 2; /*左边层次*/ r = (i - n) / 2 + 1; /*右边层次*/ break; } level++; /*层次*/ n -= i; }}int main(){ int m, n; int ml, mr, nl, nr, mlevel, nlevel; while(scanf("%d%d", &m, &n) != EOF) { find(m, ml, mr, mlevel); find(n, nl, nr, nlevel); printf("%d\n", abs(ml - nl) + abs(mr - nr) + abs(mlevel - nlevel)); } return 0;}
- 杭电OJ——1030 Delta-wave
- 杭电OJ 1030:Delta-wave
- 数学—杭电1030 Delta-wave
- 杭电OJ(HDOJ)1030题:Delta-wave
- 杭电 1030 Delta-wave
- 杭电 1030 Delta-wave
- acm 杭电 Delta-wave 1030
- 杭电1030 Delta-wave (找规律)
- 杭电ACM 1030 Delta-wave java代码解析
- 杭电ACM OJ 1030 Delta-wave 3维降2维坐标系法+图的搜索法
- 十二周——杭电——1002Delta-Wave
- hdu1030——Delta-wave
- HDU 1030 Delta-wave
- HDU 1030 Delta-wave
- HDU 1030 Delta-wave
- HDU-1030-Delta-wave
- hdu 1030 Delta-wave
- hdu 1030 Delta-wave
- 使用WireShark分析HTTP协议时几种常见的汉字编码及其解码方法小结
- CF 327B. Hungry Sequence
- 总结下学习脱壳的正确资料和方法
- 二分查找
- 虚拟机安装Ubuntu 出现 The system is running in low-graphics mode解决方法
- 杭电OJ——1030 Delta-wave
- 工作以后~流水账版(不定期更新)
- 运算符重载时到底发生了什么?【DEBUG】
- 黑马程序员——线程
- python join 和 split的常用使用方法
- STL源码剖析之一:概论
- string of power
- [选拔赛] Even Odds
- Linux新手入门:通过chmod改变文件权限