| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 141656 | 胡海峰老师 | 蛇形矩阵 | C++ | Accepted | 1 MS | 276 KB | 1391 | 2025-12-27 19:37:01 |
#include <iostream> #include <iomanip> // 用于格式化输出 using namespace std; int main() { int n; cin >> n; // 读取矩阵大小 // 动态创建二维数组 int** matrix = new int*[n]; for (int i = 0; i < n; i++) { matrix[i] = new int[n]; } int row = 0, col = 0; // 当前填充位置 // 填充矩阵 for (int num = 1; num <= n * n; num++) { matrix[row][col] = num; // 填充当前数字 // 判断下一步移动方向 if (col % 2 == 0) { // 偶数列(0, 2, 4...) if (row < n - 1) { row++; // 向下移动 } else { col++; // 向右移动到下一列 } } else { // 奇数列(1, 3, 5...) if (row > 0) { row--; // 向上移动 } else { col++; // 向右移动到下一列 } } } // 输出矩阵 for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { // 设置宽度为3,右对齐输出 cout << setw(3) << matrix[i][j]; } cout << endl; // 换行 } // 释放动态分配的内存 for (int i = 0; i < n; i++) { delete[] matrix[i]; } delete[] matrix; return 0; }