#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;
}
}

京公网安备 11010502036488号