- 龙凤苑中学BC班6.1-周末课
snack形方阵
- @ 2024-6-8 16:34:19
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,s[10][10],sum=0,j=0;
int a[10][10] = {0};
int dx[] = {0,1,0,-1};
int dy[] = {1,0,-1,0};
int dir = 0;
int x = 0, y = -1;
cin >> n;
for(int i=1;i<=n*n;i++){
int nx = x + dx[dir];
int ny = y + dy[dir];
if (nx >= n || ny >= n || nx < 0 || ny < 0 || a[nx][ny] != 0) {
dir = (dir + 1) % 4;
nx = x + dx[dir];
ny = y + dy[dir];
}
a[nx][ny] = i;
x = nx, y = ny;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << setw(3) << a[i][j];
}
cout << '\n';
}
}
0 comments
No comments so far...