题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
#include <iostream>
#include <vector>
using namespace std;
// 观察到每斜列的横纵坐标和为定值
int main() {
int N;
cin >> N;
int count=1;
vector<vector<int>> table(N,vector<int>(N));
for(int i=0;i<N;++i){
for(int j=0;j<=i;++j){
table[i-j][j]=count++;
}
}
for(int i=0;i<N;++i){
for(int j=0;j<N-i;++j){
cout << table[i][j] << ' ';
}
cout << endl;
}
}
// 64 位输出请用 printf("%lld")
#include <iostream>
#include <vector>
using namespace std;
// 第一行数字间距为:2 3 4 5...
// 第一行数字间距为:3 4 5...
// 第一行数字间距为:4 5...
// 第一行数字间距为:5...
// ...
int main() {
int N;
cin >> N;
int start=1;
int zong=1;
for(int i=0;i<N;++i){
int temp=start;
int heng=2+i;
for(int j=0;j<N-i;++j){
cout << temp << ' ';
temp+=heng++;
}
cout << endl;
start+=zong++;
}
}
// 64 位输出请用 printf("%lld")


