装修新房子是一项颇为复杂的工程,现在需要写个程序帮助房主设计室内电线的布局。 首先,墙壁上插座的位置是固定的。插座间需要有电线相连,而且要布置得整齐美观,即要求每条线都至少与一条边平行,且嵌入四壁或者地板,不能走房顶。 房主要求知道,要将所有插座连通,自己需要买的电线的最短长度。 另外,别忘了每个房间都有门,电线不可以穿门而过。上图给出了一个有4个插座的房间的电线布局。 输入要求: 输入由若干组测试数据组成。 每组数据的第1行包含房间的长、宽、高和插座的个数N(N为一个不超过20的正整数)。 接下去的N行中,第i行给出第i个插座的位置坐标(xi,yi,zi);最后一行包含4个3元组(x1,y1,z1)…(x4,y4,z4),分别是长方形门框的4个角的三维坐标。4个数字全部为0表示全部测试结束,不要对改数据做任何处理。 注意:这里假设长方体形状的房间完全位于三维直角坐标系的第一象限内,并且有一个角落在原点上。地板位于x—y平面。题目数据保证,每个插座仅属于四面墙中的一面门上没有插座。要求每段电线的两端必须仅与插座连接,电线之间不能相交叉焊接。 输出要求: 对每一组测试,在一行里输出要将所有插座连通需要买的电线的最短整数长度。 输入例子: 10 10 10 4 0 1 3.3 2.5 0 2 5 0 0.8 5 10 1 0 0 0 0 0 3 1.5 0 0 1.5 0 3 0 0 0 0 输出例子: 21