工艺品制作思路和答案

当前代码:

#include <iostream>

using namespace std;

int cube[21][21][21];

int main(){


int w, x ,h;

cin >> w >> x >> h;

int q; cin >> q;

for(int i = 1; i <= q; i++){

	int x1, y, z, x2, y2, z2;

	cin >> x1 >> y >> z >> x2 >> y2 >> z2;

	for(int j = x1; j <= x2; j++){

		for(int k = y; k <= y2; k++){

			for(int p = z; p <= z2; p++){

				cube[j][p][k] = 1; // 消灭 

				// x y z

			}

		}

	}

}

int cnt = 0;

for(int j = 0; j < w; j++){

	for(int k = 0; k < x; k++){

		for(int p = 0; p < h; p++){

			if(cube[j][p][k] == 0) cnt++;

			// x y z

		}

	}

}

cout << cnt;

return 0;
}

爆0了!

正确版本

// 提交第2次测试
#include <iostream>

using namespace std;

int cube[21][21][21];

int main()
{
    int w, x,h;

    cin >> w >> x >> h;

    int q;

    cin >> q;

    for(int i = 1; i <= q; i++)
    {

        int x1, y, z, x2, y2, z2;

        cin >> x1 >> y >> z >> x2 >> y2 >> z2;

        for(int j = x1; j <= x2; j++)
        {
            for(int k = y; k <= y2; k++)
            {
                for(int p = z; p <= z2; p++)
                {
                    cube[j][k][p] = 1; // 消灭
                }

            }

        }

    }

    int cnt = 0;

    for(int j = 1; j <= w; j++) // 注意这里的索引变化
    {
        for(int k = 1; k <= x; k++)
        {
            for(int p = 1; p <= h; p++)
            {
                if(cube[j][k][p] == 0) cnt++;
            }
        }
    }

    cout << cnt;

    return 0;
}

总结:索引要一致,前面用什么(1-based),后面也用什么(1-based),而非 0-based