Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def read_matrix():
- (row_count, col_count) = map(int, input().split(" "))
- return [list(map(int, input().split(" "))) for _ in range(row_count)]
- def find_best_sum(matrix):
- rows_count = len(matrix)
- cols_count = len(matrix[0])
- best_sum = None
- best_start = None
- for row in range(rows_count - 2):
- for col in range(cols_count - 2):
- current_sum = matrix[row][col] + matrix[row][col + 1] + matrix[row][col + 2] + \
- matrix[row + 1][col] + matrix[row + 1][col + 1] + matrix[row + 1][col + 2] + \
- matrix[row + 2][col] + matrix[row + 2][col + 1] + matrix[row + 2][col + 2]
- if best_sum:
- if best_sum < current_sum:
- best_sum = current_sum
- best_start = (row, col)
- else:
- best_sum = current_sum
- best_start = (row, col)
- if best_start:
- (row, col) = best_start
- best_submatrix = [[matrix[row][col], matrix[row][col + 1], matrix[row][col + 2]],
- [matrix[row + 1][col], matrix[row + 1][col + 1], matrix[row + 1][col + 2]],
- [matrix[row + 2][col], matrix[row + 2][col + 1], matrix[row + 2][col + 2]]]
- else:
- best_submatrix = matrix
- return (best_sum, best_submatrix)
- matrix = read_matrix()
- best_sum, best_matrix = find_best_sum(matrix)
- print(f"Sum = {best_sum}")
- [print(" ".join(map(str, row))) for row in best_matrix]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement