2899: 【例63.2】 回形方阵
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:4
解决:3
题目描述
输入$n$打印回形方阵。
输入
输入$n$。
输出
一个方阵,每个数字的场宽为$2$。
样例输入 复制
8
样例输出 复制
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8
8 7 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8
8 7 6 5 5 5 5 5 5 5 5 5 5 5 6 7 8
8 7 6 5 4 4 4 4 4 4 4 4 4 5 6 7 8
8 7 6 5 4 3 3 3 3 3 3 3 4 5 6 7 8
8 7 6 5 4 3 2 2 2 2 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1 1 1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1 1 1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 2 2 2 2 3 4 5 6 7 8
8 7 6 5 4 3 3 3 3 3 3 3 4 5 6 7 8
8 7 6 5 4 4 4 4 4 4 4 4 4 5 6 7 8
8 7 6 5 5 5 5 5 5 5 5 5 5 5 6 7 8
8 7 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8
8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
提示
#include<bits/stdc++.h>
using namespace std;
int a[100][100],n;
void f(int x,int y,int n,int c){
if(c<1) return ;
for(int i=0;i<n;i++){
a[x][y+i]=c;
a[x+i][y]=c;
a[x+n-1][y+i]=c;
a[x+i][y+n-1]=c;
}
f(x+1,y+1,n-2,c-1);
}
int main(){
cin>>n;
f(1,1,2*n+1,n);
for(int i=1;i<=2*n+1;i++){
for(int j=1;j<=2*n+1;j++)printf("%2d",a[i][j]);
printf("\n");
}
return 0;
}