Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from collections import deque
- def check(row, col, a, color, q):
- empty = 0
- if not color[row][col]:
- if a[row + 1][col] == '.':
- empty += 1
- if not color[row + 1][col]:
- q.append(row + 1)
- q.append(col)
- if a[row - 1][col] == '.':
- empty += 1
- if not color[row - 1][col]:
- q.append(row - 1)
- q.append(col)
- if a[row][col + 1] == '.':
- empty += 1
- if not color[row][col + 1]:
- q.append(row)
- q.append(col + 1)
- if a[row][col - 1] == '.':
- empty += 1
- if not color[row][col - 1]:
- q.append(row)
- q.append(col - 1)
- color[row][col] = 1
- return 4 - empty
- return 0
- n = int(input())
- a = [['*'] * (n+2) for i in range(n + 2)]
- color = [[0] * (n+2) for i in range(n + 2)]
- for i in range(1, n + 1):
- row = input()
- for j in range(1, n + 1):
- a[i][j] = row[j - 1]
- q = deque()
- q.append(1)
- q.append(1)
- walls = 0
- while q:
- row = q.popleft()
- col = q.popleft()
- walls += check(row, col, a, color, q)
- if not color[n][n]:
- q.append(n)
- q.append(n)
- while q:
- row = q.popleft()
- col = q.popleft()
- walls += check(row, col, a, color, q)
- walls -= 4
- m = walls * 9
- print(m)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement