测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A41081. 蛇行矩阵

填空题 中等

题目描述

蛇行矩阵

题目描述

蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。

输入格式

本题有多组数据,每组数据由一个正整数N组成。(N不大于100)

输出格式

对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。

样例输入

5

样例输出

1 3 6 10 15

2 5 9 14

4 8 13

7 12

11

参考答案

#include <iostream> #include <vector> using namespace std; int main() { int N = 0; cin >> N; vector<vector<int>> matrix(N, vector<int>(N, 0)); // 全0的N*N矩阵 int count = 1; // 计数器,一直递增 for (int i = 0; i < N; ++i) { for (int j = i; j >= 0; --j) { matrix[j][i - j] = count++; // 生成蛇形矩阵 } } for (int i = 0; i < N; ++i) { for (int j = 0; j < N - i; ++j) { cout << matrix[i][j] << " "; } cout << endl; // 未处理每行的最后一个空格 } return 0; }
上一题 下一题