📄 pku1188.cpp
字号:
#include <stdio.h>
typedef struct Cube
{
int sx, sy, sz;
int x, y, z;
} Cube;
Cube A, B;
int Min(int x, int y)
{
return x < y ? x : y;
}
int Max(int x, int y)
{
return x > y ? x : y;
}
void Add()
{
int as, ae, bs, be, ns, ne;
//x
as = A.sx;
ae = A.sx + A.x;
bs = B.sx;
be = B.sx + B.x;
ns = Max(as, bs);
ne = Min(ae, be);
A.sx = ns;
A.x = ne > ns ? ne - ns: 0;
//y
as = A.sy;
ae = A.sy + A.y;
bs = B.sy;
be = B.sy + B.x;
ns = Max(as, bs);
ne = Min(ae, be);
A.sy = ns;
A.y = ne > ns ? ne - ns: 0;
//z
as = A.sz;
ae = A.sz + A.z;
bs = B.sz;
be = B.sz + B.x;
ns = Max(as, bs);
ne = Min(ae, be);
A.sz = ns;
A.z = ne > ns ? ne - ns: 0;
}
int main()
{
int N, i, sx, sy, sz, a;
while (scanf("%d", &N) != -1 && N)
{
scanf("%d %d %d %d", &sx, &sy, &sz, &a);
A.sx = sx;
A.sy = sy;
A.sz = sz;
A.x = a;
A.y = a;
A.z = a;
for (i = 1; i < N; i++)
{
scanf("%d %d %d %d", &B.sx, &B.sy, &B.sz, &B.x);
Add();
}
printf("%d\n", A.x * A.y * A.z);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -