1 solutions

  • 0
    @ 2025-9-30 13:16:53
    #include <vector>
    using namespace std;
    void fill(vector<vector<int>>& grid, int x1, int y1, int x2, int y2) {
        if (x1 == x2) {
            return;
        }
        int mid_x = (x1 + x2) / 2;
        int mid_y = (y1 + y2) / 2;
        for (int i = x1; i <= mid_x; ++i) {
            for (int j = y1; j <= mid_y; ++j) {
                grid[i][j] = 0;
            }
        }
        fill(grid, x1, mid_y + 1, mid_x, y2);
        fill(grid, mid_x + 1, y1, x2, mid_y);
        fill(grid, mid_x + 1, mid_y + 1, x2, y2);
    }
    
    int main() {
        int n;
        cin >> n;
        int size = 1 << n;
        vector<vector<int>> grid(size, vector<int>(size, 1));
        fill(grid, 0, 0, size - 1, size - 1);
        for (int i = 0; i < size; ++i) {
            for (int j = 0; j < size; ++j) {
                if (j > 0) cout << " ";
                cout << grid[i][j];
            }
            cout << endl;
        }
        
        return 0;
    }
    
    • 1

    Information

    ID
    4429
    Time
    1000ms
    Memory
    125MiB
    Difficulty
    3
    Tags
    # Submissions
    1
    Accepted
    1
    Uploaded By