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;
}