题解 | #蛇形矩阵#

蛇形矩阵

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")

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务