文章
12
粉丝
0
获赞
69
访问
1.3k
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int a[25][25] = {0};
int dx[4] = {1, 0, -1, 0}; // 上 右 下 左
int dy[4] = {0, 1, 0, -1};
int x = 0, y = 0; // 起点:左上角
int dir = 0;
for(int num = 1; num <= n * n; num++)
{
a[x][y] = num;
int nx = x + dx[dir];
int ny = y + dy[dir];
// 判断是否需要转向
if(nx < 0 || nx >= n || ny < 0 || ny >= n || a[nx][ny] != 0)
{
dir = (dir + 1) % 4;
nx = x + dx[dir];
ny = y + dy[dir];
}
x = nx;
&n...
登录后发布评论
暂无评论,来抢沙发