2899: 【例63.2】 回形方阵
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:2
解决:2
题目描述
输入$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; }