Bad_Programist

Untitled

Mar 10th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.70 KB | None | 0 0
  1. n,m = map(int, input().split())
  2.  
  3. a = [[0 for i in range(m)] for j in range(n)]
  4.  
  5. s,i,l = 1,0,n*m
  6.  
  7. if n == m: a[n//2][n//2] = n*n
  8.  
  9. while s < l:
  10.  
  11.     for j in range(i, m - i - 1):
  12.  
  13.         if s > l: break
  14.  
  15.         a[i][j] = s
  16.  
  17.         s+=1
  18.  
  19.     for j in range(i, n - i - 1):
  20.  
  21.         if s > l: break
  22.  
  23.         a[j][m - i - 1] = s
  24.  
  25.         s += 1
  26.  
  27.     for j in range(i, m - i - 1):
  28.  
  29.         if s > l: break
  30.  
  31.         a[n - i - 1][m - 1 - j] = s
  32.  
  33.         s += 1
  34.  
  35.     for j in range(i, n - i - 1):
  36.  
  37.         if s > l: break
  38.  
  39.         a[n - 1 - j][i] = s
  40.  
  41.         s += 1
  42.  
  43.     i+=1
  44.  
  45. for i in a:
  46.  
  47.     for j in i:
  48.  
  49.         print(" "*(4-len(str(j)))+str(j),end="")
  50.  
  51.     print()
Advertisement
Add Comment
Please, Sign In to add comment