#include <iostream>
#include <algorithm>
using namespace std;
const int N = 50;
int a[N][N][N];
int main() {
int w, x, h, q, total, s = 0;
cin >> w >> x >> h;
cin >> q;
total = w * x * h;
// 初始化立方体所有位置为0,表示未被切割
for (int i = 0; i < w; i++) {
for (int j = 0; j < x; j++) {
for (int k = 0; k < h; k++) {
a[i][j][k] = 0;
}
}
}
while (q--) {
int x1, y1, z1, x2, y2, z2;
cin >> x1 >> y1 >> z1 >> x2 >> y2 >> z2;
for (int i = x1; i <= x2; i++) {
for (int j = y1; j <= y2; j++) {
for (int k = z1; k <= z2; k++) {
if (a[i][j][k] == 0) {
s++;
a[i][j][k] = 1;
}
}
}
}
}
cout << total - s << endl;
return 0;
}
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 50;
int a[N][N][N];
int main() {
int w, x, h, q, total, s = 0;
cin >> w >> x >> h;
cin >> q;
total = w * x * h;
// 初始化立方体所有位置为1,表示未被切割
for (int i = 0; i < w; i++) {
for (int j = 0; j < x; j++) {
for (int k = 0; k < h; k++) {
a[i][j][k] = 1;
}
}
}
while (q--) {
int x1, y1, z1, x2, y2, z2;
cin >> x1 >> y1 >> z1 >> x2 >> y2 >> z2;
for (int i = x1; i <= x2; i++) {
for (int j = y1; j <= y2; j++) {
for (int k = z1; k <= z2; k++) {
if (a[i][j][k] == 1) {
s++;
a[i][j][k] = 0;
}
}
}
}
}
cout << total - s << endl;
return 0;
}
想问一下上面这两个代码有什么区别,为什么有一个能过一个不行