题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
#include<iostream>
#include<vector>
using namespace std;
void SnakeMatrix(int n)
{
vector<vector<int>> matrix(n+1, vector<int>(n+1, 0));//这个地方咬大于n,不然输出的时候要out of range,原因不明,研究清楚了再来补充
int num = 1;
for (int i = 0; i < n; i++)
{
int j = i, k = 0;
while (j >= 0)
{
matrix[j][k] = num;
num++;
j--;
k++;
}
}
for (int i = 0; i < n; i++)
{
int j = 0;
while (matrix[i][j] != 0 && j < n)
{
cout << matrix[i][j] << " ";
j++;
}
cout << endl;
}
}
int main()
{
int num;
cin >> num;
SnakeMatrix(num);
}