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