题解 | #蛇形矩阵#

蛇形矩阵

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

}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务