这道题坐标系原点到底是(0,0,0)还是(1,1,1)?
根据题目描述:
"给出参数 (1,1,1),(2,2,2) 时,中间的 8 块小方块就会被蒸发"
可知原点似乎是(0,0,0);
但是下面这段代码却是全wa
#include <iostream>
using namespace std;
int main()
{
int a[22][22][22] = {0};
int w, x, h, q;
cin >> w >> x >> h;
cin >> q;
int x1, y1, z1, x2, y2, z2;
for(int i = 1; i <= q; i++)
{
cin >> x1 >> y1 >> z1 >> x2 >> y2 >> z2;
for(int j = x1; j <= x2; j++)
{
for(int k = y1; k <= y2; k++)
{
for(int l = z1; l <= z2; l++)
{
a[j][k][l] = 1;
}
}
}
}
int cnt = 0;
for(int i = 0; i < w; i++)
{
for(int j = 0; j < x; j++)
{
for(int k = 0; k < h; k++)
{
if(a[i][j][k] == 0)
cnt++;
}
}
}
cout << cnt << endl;
return 0;
}
但是如果把36行的三重循环边界改成从1到w/x/h,就会ac
所以这题的题面和测试点是不是有点不符啊