Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
111892 | 陈铎文 | 螺旋矩阵 | C++ | Wrong Answer | 1 MS | 276 KB | 931 | 2025-03-08 10:05:37 |
#include<bits/stdc++.h> using namespace std; int main() { int a[21][21] = {0}; // 初始化矩阵 int t = 1, i = 0, n; cin >> n; // 生成螺旋矩阵 while (t <= n * n) { // 从左到右填充上边 for (int j = i; j <= n - 1 && t <= n * n; j++) a[i][j] = t++; // 从上到下填充右边 for (int j = i + 1; j <= n - i - 1 && t <= n * n; j++) a[j][n - i - 1] = t++; // 从右到左填充下边 for (int j = n - i - 2; j >= i && t <= n * n; j--) a[n - i - 1][j] = t++; // 从下到上填充左边 for (int j = n - i - 2; j > i && t <= n * n; j--) a[j][i] = t++; i++; // 缩小螺旋范围 } // 输出螺旋矩阵 for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("%4d", a[i][j]); // 格式化输出 } cout << endl; } return 0; }
------Input------
5
------Answer-----
1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9
------Your output-----
1 2 3 4 5 16 17 18 19 20 15 25 0 21 7 14 24 23 22 8 13 12 11 10 9