2901: 练63.2 斜行方阵
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
输入整数$N$,输出相应方阵。
输入
输入一个整数 $n$ ,$1≤n≤18$。
输出
一个方阵,每个数字的场宽为$4$。
样例输入 复制
5
样例输出 复制
11 7 4 2 1
16 12 8 5 3
20 17 13 9 6
23 21 18 14 10
25 24 22 19 15
提示
#include<iostream> using namespace std; int a[20][20],n,x,y; bool check(int x,int y){ return x>=1 && x<=n && y>=1 && y<=n; } int main(){ cin>>n; int c=0; for(int i=n;i>=1;i--){ x=1; y=i; while(check(x,y)){ c++; a[x][y]=c; x++; y++; } } for(int i=2;i<=n;i++){ x=i; y=1; while(check(x,y)){ c++; a[x][y]=c; x++; y++; } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) printf("%4d",a[i][j]); printf("\n"); } return 0; }