描述 | |
---|---|
知识点 | 数组 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 | 输入正整数N(N不大于100)
|
输出 | 输出一个N行的蛇形矩阵。
|
样例输入 | 4 |
样例输出 | 1 3 6 10 2 5 9 4 8 7 |
#include <iostream>
#include <vector>
#include <stdlib.h>
#include <stack>
using namespace std;
#define MAX_NUMBER 100
int main()
{
int N = 0, i = 0, j = 0;
int a[MAX_NUMBER][MAX_NUMBER];
cin >> N;
for(i = 0; i < N; i++)
{
/* 先把第一行的计算出来 */
if(i == 0)
{
for(j = 0; j < N; j++)
{
a[0][j] = (j+1)*(j+2)/2;
if(j == 0)
{
cout << a[0][j];
}
else
{
cout << " " << a[0][j];
}
}
}
else
{
/* 其他的数等于右上角的数减1 */
for(j = 0; j < N-i; j++)
{
a[i][j] = a[i-1][j+1] - 1;
if(j == 0)
{
cout << a[i][j];
}
else
{
cout << " " << a[i][j];
}
}
}
cout << endl;
}
return 0;
}