#3190. T1 螺旋方阵
T1 螺旋方阵
题目描述
读入一个整数 ,请输出一个 的螺旋方阵。
填充规则:从左上角 开始,先向右填,走到边界或已经填过的格子就顺时针转 90°,直到把 全部填完。
输入格式
一行一个整数 ()。
输出格式
共 行,每行 个整数,数字占 3 个字符宽、右对齐,同行数字之间用一个空格分隔。
输入样例
4
输出样例
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
样例解释
向右填到 4 之后撞到右边界 → 转向下;填到 7 之后撞到下边界 → 转向左;填到 10 之后撞到左边界 → 转向上;向上走到 12 时发现 13 已经填过(进入内圈)→ 再次右转……
提示
模拟的写法不用真的"画圈":只要维护当前位置 和当前方向 (右、下、左、上),每一步都先填数,再试走一格;如果下一格越界或已填,就 d = (d + 1) % 4 换方向再走。
相关
在下列比赛中: