杭电acm1030,求解题思路? 10

看了半天没看出来。水了,各位大侠帮帮忙啊!尽量具体点!先谢谢了网址;http://acm.hdu.edu.cn/showproblem.php?pid=1030... 看了半天没看出来。水了,各位大侠帮帮忙啊!尽量具体点!先谢谢了网址;http://acm.hdu.edu.cn/showproblem.php?pid=1030 展开
 我来答
pfzq303
2013-03-15 · TA获得超过172个赞
知道答主
回答量:98
采纳率:0%
帮助的人:39.6万
展开全部
刚在别人那看到这个题。写了点思路,复制给你吧...
临时看的题目,想的一个思路,没实践,仅供参考。
已经知道了起点m和终点n,现在就是要找到一个通用的规律让m尽快到达n。
由图形中可以看出,假设一个起点是处于三角形的顶部,比如1,2,4,5,7,9...
那么它到它下面某一层的点的距离都是一样的,比如1到2和1到4。比如2到10和2到12和2到14。等等
根据这个规律我们可以想到,如果n是在m为顶点的三角形的下面,那么只要找出之间隔了有多少层,问题就解决了。
如果m不是三角形的顶点,我们可以找到m所在的最小的三角形,比如6就是2,8就是4,13就是7......
如何判断是否在某点下面,首先终点n的值我们是知道的,我们可以算出它所在的层数。
那么m和n之间的层数差我们就知道了,我们可以算出顶点的左右边界,如何加以判断。
在的话,规律很好找。不在的话,在左右边界中找到n最近的边界点,算出差值,就是额外的步数,再加上到这一层的步数。
找规律的话,假设顶点f(x)在第x层,那么它到下一层x+1层的右边界就是 f(x)+2*x-1 左边界就是f(x)+2x+1,依次类推,每隔一层顶点到边界的步数就加2。
当然你也可以找通用表达式,这个事情我就不做了
纯手打,可能没表达清楚,可以一起探讨。
http://zhidao.baidu.com/question/531972411.html?sort=6&old=1#answer-1342933539
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式