summaryrefslogtreecommitdiff
path: root/progs/a233.py
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2024-05-28 10:29:13 +0200
committerSanto Cariotti <santo@dcariotti.me>2024-05-28 10:29:13 +0200
commitf05d888a0b621ca4e99e2b0fb6e23c097006fe41 (patch)
treeeebbb2489144112d3288393e354d19375a0aa088 /progs/a233.py
Init
Diffstat (limited to 'progs/a233.py')
-rw-r--r--progs/a233.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/progs/a233.py b/progs/a233.py
new file mode 100644
index 0000000..92bbaa7
--- /dev/null
+++ b/progs/a233.py
@@ -0,0 +1,29 @@
+def generate_matrix(n):
+ if n<=0:
+ return []
+ matrix=[row[:] for row in [[0]*n]*n]
+ row_st=0
+ row_ed=n-1
+ col_st=0
+ col_ed=n-1
+ current=1
+ while (True):
+ if current>n*n:
+ break
+ for c in range (col_st, col_ed+1):
+ matrix[row_st][c]=current
+ current+=1
+ row_st+=1
+ for r in range (row_st, row_ed+1):
+ matrix[r][col_ed]=current
+ current+=1
+ col_ed-=1
+ for c in range (col_ed, col_st-1, -1):
+ matrix[row_ed][c]=current
+ current+=1
+ row_ed-=1
+ for r in range (row_ed, row_st-1, -1):
+ matrix[r][col_st]=current
+ current+=1
+ col_st+=1
+ return matrix \ No newline at end of file