Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
487
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. def read_matrix():
  2. (row_count, col_count) = map(int, input().split(" "))
  3. return [list(map(int, input().split(" "))) for _ in range(row_count)]
  4.  
  5.  
  6. def find_best_sum(matrix):
  7. rows_count = len(matrix)
  8. cols_count = len(matrix[0])
  9.  
  10. best_sum = None
  11. best_start = None
  12.  
  13. for row in range(rows_count - 2):
  14. for col in range(cols_count - 2):
  15. current_sum = matrix[row][col] + matrix[row][col + 1] + matrix[row][col + 2] + \
  16. matrix[row + 1][col] + matrix[row + 1][col + 1] + matrix[row + 1][col + 2] + \
  17. matrix[row + 2][col] + matrix[row + 2][col + 1] + matrix[row + 2][col + 2]
  18.  
  19. if best_sum:
  20. if best_sum < current_sum:
  21. best_sum = current_sum
  22. best_start = (row, col)
  23. else:
  24. best_sum = current_sum
  25. best_start = (row, col)
  26. if best_start:
  27. (row, col) = best_start
  28. best_submatrix = [[matrix[row][col], matrix[row][col + 1], matrix[row][col + 2]],
  29. [matrix[row + 1][col], matrix[row + 1][col + 1], matrix[row + 1][col + 2]],
  30. [matrix[row + 2][col], matrix[row + 2][col + 1], matrix[row + 2][col + 2]]]
  31. else:
  32. best_submatrix = matrix
  33.  
  34. return (best_sum, best_submatrix)
  35.  
  36.  
  37. matrix = read_matrix()
  38. best_sum, best_matrix = find_best_sum(matrix)
  39.  
  40. print(f"Sum = {best_sum}")
  41. [print(" ".join(map(str, row))) for row in best_matrix]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement