#include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; // 输入n vector<vector<int>> res(n, vector<int>(n)); // 构造一个n*n的二维数组 // 开始填充数字 if (n == 1) { cout << 1 << endl; } // 当n > 2 int num = 1; // 从1开始填充 for (int d = 0; d < n; ++d) { for (int i = 0; i <= d; ++i) { int j = d - i; res[j][i] = num++; } } // 输出蛇形矩阵 for (auto& arr : res) { for (auto& value : arr) { if (value != 0) { cout << value << " "; } } cout << endl; } }