Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def neighbour_cells(row_, col_, n_):
- valid_cells = []
- if row_ -1 in range(n_) and col_ - 1 in range(n_):
- valid_cells.append((row_-1, col_-1))
- if row_ -1 in range(n_) and col_ in range(n_):
- valid_cells.append((row_-1, col_))
- if row_ -1 in range(n_) and col_ + 1 in range(n_):
- valid_cells.append((row_-1, col_+1))
- if row_ in range(n_) and col_ - 1 in range(n_):
- valid_cells.append((row_, col_-1))
- if row_ in range(n_) and col_ + 1 in range(n_):
- valid_cells.append((row_, col_ +1))
- if row_ +1 in range(n_) and col_ - 1 in range(n_):
- valid_cells.append((row_+1, col_-1))
- if row_ +1 in range(n_) and col_ in range(n_):
- valid_cells.append((row_ +1, col_))
- if row_ +1 in range(n_) and col_ + 1 in range(n_):
- valid_cells.append((row_ +1, col_ +1))
- return valid_cells
- n = int(input())
- matrix = []
- for _ in range(n):
- current_row = [int(n) for n in input().split()]
- matrix.append(current_row)
- bombs = input().split()
- for bomb in bombs:
- row, col = [int(n) for n in bomb.split(',')]
- current_bomb = matrix[row][col]
- if current_bomb > 0:
- neighbours = neighbour_cells(row, col, n)
- for r, c in neighbours:
- if matrix[int(r)][int(c)] > 0:
- matrix[int(r)][int(c)] -= current_bomb
- matrix[row][col] = 0
- sum_alive = 0
- number_alive = 0
- for row in range(n):
- for col in range(n):
- if matrix[row][col] > 0:
- sum_alive += matrix[row][col]
- number_alive += 1
- print(f"Alive cells: {number_alive}")
- print(f"Sum: {sum_alive}")
- for r in range(n):
- print(*matrix[r])
Add Comment
Please, Sign In to add comment