/*
思路:
1. 创建一个N行 N列的数组, 并初始化为0 vector<vector<int>> matrix(0, vector<int>(N, 0))
2. 使用变量,控制遍历矩阵的路径为蛇形路径。 这个需要重点关注。
3. 遍历矩阵,打印数据
*/
#include<iostream>
#include <vector>
using namespace std;
int main(){
int n;
cin >> n;
int num = 1;
// 二维数组
vector<vector<int>> matrix(n, vector(n, 0));
for(int i = 0; i < n; i++){
int j = i;
int k = 0;
while(j >= 0){
matrix[j][k] = num;
num++;
j--;
k++;
}
}
// 打印输出 蛇形矩阵
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if(matrix[i][j] != 0){
cout << matrix[i][j] << " ";
}
}
cout << endl;
}
return 0;
}