哪错了
查看原帖
哪错了
762533
xiangyu666888楼主2024/3/13 13:54
#include <iostream>
#include <vector>

using namespace std;

int main() {
    int n, m;
    cin >> n >> m;

    // 初始化三个视图的二维数组
    vector<vector<int>> front_view(n, vector<int>(m, 0)); // 正视图
    vector<vector<int>> left_view(m, vector<int>(n, 0));  // 左视图
    vector<vector<int>> top_view(m, vector<int>(n, 0));   // 俯视图

    // 读取区域的状态
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            int status;
            cin >> status;

            // 根据每个格子的状态填充三个视图的对应位置
            if (status == 1) {
                front_view[i][j] = 1;             // 正视图
                left_view[j][n - 1 - i] = 1;      // 左视图
                top_view[j][i] = 1;               // 俯视图
            }
        }
    }

    // 输出三个视图
    // 正视图
    for (int i = 0; i < n; ++i) {
        cout << front_view[i][0];
        for (int j = 1; j < m; ++j) {
            cout << " " << front_view[i][j];
        }
        cout << endl;
    }

    // 左视图
    for (int i = 0; i < m; ++i) {
        cout << left_view[i][0];
        for (int j = 1; j < n; ++j) {
            cout << " " << left_view[i][j];
        }
        cout << endl;
    }

    // 俯视图
    for (int i = 0; i < m; ++i) {
        cout << top_view[i][0];
        for (int j = 1; j < n; ++j) {
            cout << " " << top_view[i][j];
        }
        cout << endl;
    }

    return 0;
}

2024/3/13 13:54
加载中...