1 条题解
-
0
递归+超难的模拟(一堆算式)
#include<bits/stdc++.h> using namespace std; const int N=1e2+5,INF=0x3f3f3f3f; typedef long long LL; int n,a[N][N]; void f(int x){ if(x==n)return; for(int i=1;i<=x;i++)a[(n-x)/2][(n-x)/2+i] = 1; for(int i=1;i<=x;i++)a[(n-x)/2+i][(n-x)/2] = 2; for(int i=1;i<=x;i++)a[n+1-(n-x)/2][(n-x)/2+i] = 3; for(int i=1;i<=x;i++)a[(n-x)/2+i][n+1-(n-x)/2] = 4; f(x+2); } int main() { cin>>n; if(n%2==1)f(1); else f(2); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++)cout<<a[i][j]<<" "; cout<<endl; } }
特别要注意边长为奇数的方阵和偶数的递归函数是一样的
我后来才发现的
信息
- ID
- 1037
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 9
- 标签
- 递交数
- 12
- 已通过
- 5
- 上传者