三维立方体表面最短路径问题
题目描述
给定一个长宽高为整数 lx×ly×lz 的三维立方体。立方体的边与坐标轴对齐,且其中一个角位于坐标原点 (0,0,0)。现给定立方体表面某一点 (x,y,z),要求计算从 (0,0,0) 出发沿立方体表面到 (x,y,z) 的最短路径长度的平方。
例如:若 lx=1,ly=2,lz=1,则从 (0,0,0) 到 (1,2,1) 的最短路径为:
- 从 (0,0,0) 走到 (1,1,0)
- 再从 (1,1,0) 走到 (1,2,1)
总路径长度为 8,因此输出 8。
输入格式
输入包含多个测试用例,每个用例为一行六个整数 lx, ly, lz, x, y, z,其中 1≤lx,ly,lz≤1000。
注意:立方体可能存在体积为零的情况(如 lx=0),但保证 (x,y,z) 一定位于立方体的某个表面上。
输入以 lx=ly=lz=x=y=z=0 结束,且此用例无需处理。
输出格式
对每个测试用例,输出一个正整数,表示最短路径长度的平方(路径长度的平方始终为整数)。
示例输入
1 1 2 1 1 2
1 1 1 1 1 1
0 0 0 0 0 0
示例输出
8
5
来源
Stanford Local 2005