1 solutions
-
0
#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