๋ฌธ์
https://www.acmicpc.net/problem/17086
ํ์ด
# ๋ฐฑ์ค 17086๋ฒ ๋ฌธ์ - ์๊ธฐ ์์ด 2
from collections import deque
dx = [0,0,-1,1,1,1,-1,-1]
dy = [1,-1,0,0,1,-1,1,-1]
n, m = map(int, input().split())
graph = [list(map(int, input().split(' '))) for _ in range(n)]
ans = 0
def bfs(x, y):
queue = deque()
queue.append((x, y))
visited = [[0] * m for _ in range(n)]
visited[x][y] = 1
while queue:
x, y = queue.popleft()
for i in range(8):
nx = x + dx[i]
ny = y + dy[i]
if 0 <= nx < n and 0 <= ny < m and visited[nx][ny] == 0:
# print('์์ด', graph[nx][ny])
# print('๊ฑฐ๋ฆฌ', visited[x][y])
visited[nx][ny] = visited[x][y] + 1
queue.append((nx, ny))
if graph[nx][ny] == 1:
print(visited)
return visited[nx][ny]-1
dist = []
for i in range(n):
for j in range(m):
if graph[i][j] != 1:
dist.append(bfs(i, j))
print(max(dist))
'๐๏ธ Algorithm > ๐ฉ ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฉ [๋ฐฑ์ค] [Python] 9465๋ฒ_์คํฐ์ปค (0) | 2022.12.02 |
---|---|
๐ฉ [๋ฐฑ์ค] [Python] 11052๋ฒ_์นด๋ ๊ตฌ๋งคํ๊ธฐ 2 (1) | 2022.12.02 |
๐ฉ [๋ฐฑ์ค] [Python] 11060๋ฒ_์ ํ ์ ํ (0) | 2022.11.28 |
๐ฉ [๋ฐฑ์ค] [Python] 2210๋ฒ_์ซ์ํ ์ ํ (0) | 2022.11.28 |
๐ฉ [๋ฐฑ์ค] [Python] 5567๋ฒ_๊ฒฐํผ์ (0) | 2022.11.28 |