Skip to content

Commit cf2de03

Browse files
committed
1 parent 5c4c18d commit cf2de03

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
N = int(input())
2+
3+
for i in range(N):
4+
num = int(input())
5+
6+
arr = [[-1] * num for _ in range(num)]
7+
val = 1
8+
9+
row = 0
10+
col = 0
11+
12+
dx = [-1, 1, 0, 0]
13+
dy = [0, 0, -1, 1]
14+
15+
dir = 3
16+
17+
while True:
18+
19+
if val > num * num:
20+
break
21+
22+
arr[row][col] = val
23+
val += 1
24+
25+
newRow = row + dx[dir]
26+
newCol = col + dy[dir]
27+
28+
if newRow >= num or newRow < 0 or newCol >= num or newCol < 0 or arr[newRow][newCol] != -1:
29+
if dir == 0:
30+
dir = 3
31+
elif dir == 1:
32+
dir = 2
33+
elif dir == 2:
34+
dir = 0
35+
elif dir == 3:
36+
dir = 1
37+
38+
row = row + dx[dir]
39+
col = col + dy[dir]
40+
else:
41+
row = newRow
42+
col = newCol
43+
44+
print(f"#{i+1}")
45+
for j in range(num):
46+
for k in range(num):
47+
print(arr[j][k], end=" ")
48+
print()

0 commit comments

Comments
 (0)