from collections import deque
n,m=map(int,input().split())
graph=[list(map(int, input().split())) for i in range(n)]
c= 0
dx=[-1, 0, 1, 0]
dy=[0, 1, 0, -1]
def bfs():
q=deque()
q.append([0,0])
visited=[[-1]*m for i in range(n)]
visited[0][0] = 0
while q:
x, y = q.popleft()
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
if 0 <= nx < n and 0 <= ny < m:
if visited[nx][ny] == -1:
if graph[nx][ny] >= 1:
graph[nx][ny] += 1
else:
visited[nx][ny] = 0
q.append([nx,ny])
while True:
bfs()
flag = 0
for i in range(n):
for j in range(m):
if graph[i][j] >= 3:
graph[i][j] = 0
flag = 1
elif graph[i][j] == 2:
graph[i][j] = 1
if flag == 1:
c += 1
else:
break
print(c)
- 치즈가 있는 부분은 1부터 시작해서 2변 이상의 노출이 필요하니 3이상이 될 것
- 치즈가 없는 부분은 0부터라 3이하가 됨
'문제풀이 > 백준(Boj) 문제풀이' 카테고리의 다른 글
[백준][구현] 10926. ??!(파이썬/python) (0) | 2022.03.01 |
---|---|
[백준][그리디 알고리즘] 11497. 통나무 건너뛰기 (파이썬/Python) (0) | 2022.01.31 |
[백준][BFS] 1389. 케빈 베이컨의 6단계 법칙 (파이썬/Python) (0) | 2022.01.27 |
[백준][자료구조/힙] 2193. 이친수(파이썬/Python) (0) | 2022.01.27 |
[백준][자료구조/힙] 1202. 보석도둑(파이썬/Python) (0) | 2022.01.25 |