#P1518. Problem Bee
Problem Bee
描述
想象一个无限延伸的笛卡尔平面上完美形成的蜂窝结构。它是由全等的正六边形组成的交错网格。其中一个六边形的中心位于坐标原点,且有两个顶点位于轴上。一只蜜蜂在飞行时必须非常小心,以免在这无限平面中迷路。为了从任意点到达另一个任意点,它会先从飞到其所在六边形的精确中心,然后沿直线飞向相邻六边形的中心。它会依次从一个中心飞到相邻的中心,直到到达包含点的六边形。在目标六边形中,它会从中心飞到点。在所有情况下,蜜蜂都会按照规则选择一条距离最短的路径。下图展示了从点到点的一条可能的最短路径。
输入
输入每行包含个浮点数。第一个数字是六边形的边长(单位:厘米),接下来的两个数字是点的和坐标,最后两个数字是点的和坐标。输入以一行五个零结束。点和点都不会恰好位于六边形的边界上。
输出
对于每行输入,输出从点A到点B的最小路径长度(单位:厘米),保留到小数点后三位。
输入数据 1
1.0 -3.2 2.2 3.3 0
9 1 4 5 1
0.1 .09 0 .21 0
0 0 0 0 0
输出数据 1
7.737
5.000
0.526
来源 Greater New York 2000