📄 2155.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 2155 on 2005-10-30 at 11:34:09 */
#include <cstdio>
const int INFINITE = 16000000;
inline int min(int, int);
int minDist(int, int, int, int, int);
int main()
{
int lx, ly, lz, x, y, z;
int path;
while(scanf("%d %d %d %d %d %d", &lx, &ly, &lz, &x, &y, &z) == 6) {
if(lx == 0 && ly == 0 && lz == 0 && x == 0 && y == 0 && z == 0) {
return 0;
} else {
if(x*y*z == 0) {
path = x*x + y*y + z*z;
} else {
if(x == lx) {
path = minDist(lx, ly, lz, y, z);
} else if(y == ly) {
path = minDist(ly, lx, lz, x, z);
} else {
path = minDist(lz, lx, ly, x, y);
}
}
printf("%d\n", path);
}
}
return 0;
}
inline int min(int a, int b)
{
return a < b ? a : b;
}
int minDist (int lx, int ly, int lz, int y, int z)
{
int path = INFINITE;
path = min(path, (lx+ly-y)*(lx+ly-y)+(ly+z)*(ly+z));
path = min(path, (lx+z)*(lx+z)+y*y);
path = min(path, (lx+y)*(lx+y)+z*z);
path = min(path, (lx+lz-z)*(lx+lz-z)+(lz+y)*(lz+y));
return path;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -