Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def check_right(matrix, row, column):
- if column < columns - 1 and matrix[row][column + 1] == "." and not [row, column + 1] in visited_positions:
- return True
- def check_left(matrix, row, column):
- if column > 0 and matrix[row][column - 1] == "." and [row, column - 1] not in visited_positions:
- return True
- def check_up(matrix, row, column):
- if row > 0 and matrix[row - 1][column] == "." and [row - 1, column] not in visited_positions:
- return True
- def check_down(matrix, row, column):
- if row < rows - 1 and matrix[row + 1][column] == "." and [row + 1, column] not in visited_positions:
- return True
- rows = int(input())
- matrix = [list(input().split()) for i in range(rows)]
- columns = len(matrix[0])
- largest_len_of_connected_dots = 0
- for r in range(rows):
- for c in range(columns):
- if matrix[r][c] == ".":
- visited_positions = []
- row = r
- column = c
- connected_dots = 0
- while True:
- if matrix[row][column] == "-":
- break
- elif check_right(matrix, row, column):
- visited_positions.append([row, column])
- column += 1
- elif check_left(matrix, row, column):
- visited_positions.append([row, column])
- column -= 1
- elif check_up(matrix, row, column):
- visited_positions.append([row, column])
- row -= 1
- elif check_down(matrix, row, column):
- visited_positions.append([row, column])
- row += 1
- else:
- matrix[row][column] = "-"
- visited_positions = []
- connected_dots += 1
- row = r
- column = c
- if connected_dots > largest_len_of_connected_dots:
- largest_len_of_connected_dots = connected_dots
- print(largest_len_of_connected_dots)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement