题解
【基础】回形方阵
1 条题解
-
0
解题思路
输出回形方阵(同心正方形)。
矩阵大小为 2n+1,每个位置的值 = n - 到四条边的最短距离。
参考代码
#include <iostream> #include <iomanip> using namespace std; int main() { int n; cin >> n; int m = 2 * n + 1; for (int i = 0; i < m; i++) { for (int j = 0; j < m; j++) { // 取到四条边的最短距离 int v = n; if (i < v) v = i; if (j < v) v = j; if (m - 1 - i < v) v = m - 1 - i; if (m - 1 - j < v) v = m - 1 - j; cout << setw(2) << (n - v); } cout << endl; } return 0; }O(N²) 时间,O(1) 空间
- 1