2 条题解
-
0
#include<bits/stdc++.h> using namespace std; int m,q=1,a[15][15]; void d(int n,int w){ if(w>=(m+1)/2) return ; for(int i=1+w;i<=n;i++){ a[i][n]=q; q++; } for(int i=n-1;i>=1+w;i--){ a[n][i]=q; q++; } for(int i=n-1;i>=1+w;i--){ a[i][1+w]=q; q++; } for(int i=2+w;i<n;i++){ a[1+w][i]=q; q++; } d(n-1,w+1); } int main(){ cin>>m; d(m,0); for(int i=1;i<=m;i++){ for(int j=1;j<=m;j++){ cout<<setw(4)<<a[i][j]; } cout<<endl; } return 0; }
-
0
#include<bits/stdc++.h> using namespace std; int a[20][20]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin>>n; a[1][n]=1; int x=1,y=n,k=1; while(k<(n*n)) { while(k<(n*n)&&x<n&&!a[x+1][y])a[++x][y]=++k; while(k<(n*n)&&y>1&&!a[x][y-1])a[x][--y]=++k; while(k<(n*n)&&x>1&&!a[x-1][y])a[--x][y]=++k; while(k<(n*n)&&y<n&&!a[x][y+1])a[x][++y]=++k; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cout<<setw(4)<<a[i][j]; cout<<endl; } return 0; }
- 1
信息
- ID
- 30
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 265
- 已通过
- 69
- 上传者