求
查看原帖
求
1098084
zhangreal楼主2024/7/24 15:39
#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;
}

想问一下上面这两个代码有什么区别,为什么有一个能过一个不行

2024/7/24 15:39
加载中...