fork download
  1. n = 7 # Розмір матриці
  2. m = 7
  3. matrix = [[0] * n for _ in range(m)]
  4.  
  5. # Початкова позиція і напрямок руху
  6. row, col, num = 0, 0, 1
  7. right, down, left, up = True, False, False, False
  8. # Заповнення матриці
  9. while num <= n * m:
  10. matrix[row][col] = num
  11. num += 1
  12.  
  13. if right:
  14. if col < n - 1 and matrix[row][col +1] == 0:
  15. col += 1
  16. else:
  17. right, down = False, True
  18. elif down:
  19. if row < m - 1 and matrix[row + 1][col] == 0:
  20. row += 1
  21. else:
  22. down, left = False, True
  23. elif left:
  24. if col > 0 and matrix[row][col - 1] == 0:
  25. col -= 1
  26. else:
  27. left, up = False, True
  28. elif up:
  29. if row > 0 and matrix[row - 1][col] == 0:
  30. row -= 1
  31. else:
  32. up, right = False, True
  33.  
  34. # Виведення матриці
  35. for row in matrix:
  36. print(row)
  37.  
  38.  
  39.  
Success #stdin #stdout 0.02s 7136KB
stdin
Standard input is empty
stdout
[1, 2, 3, 4, 5, 6, 8]
[28, 29, 30, 31, 32, 34, 9]
[26, 48, 49, 0, 0, 35, 10]
[25, 46, 0, 0, 0, 36, 11]
[24, 45, 0, 0, 0, 37, 12]
[23, 44, 42, 41, 40, 39, 13]
[22, 20, 19, 18, 17, 16, 15]