summaryrefslogtreecommitdiff
path: root/progs/a233.py
diff options
context:
space:
mode:
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