题解 | #蛇形矩阵#
蛇形矩阵
http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
#include <bits/stdc++.h>
using namespace std;
const int maxn=105;
int matrix[maxn][maxn];
int main(){
int n;
while(cin>>n){
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
matrix[i][j]=0;
for(int i=1;i<=n;i++){//第i行
int cnt=i*(i-1)/2 + 1;
matrix[i][1]=cnt;
for(int j=1;j<i;j++)
matrix[i-j][j+1]=++cnt;
}
for(int i=1;i<=n;i++){
cout<<matrix[i][1];
for(int j=2;j<=n;j++)
if(matrix[i][j])
cout<<" "<<matrix[i][j];
cout<<"\n";
}
}
}