728x90
반응형
1743번: 음식물 피하기
첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ 10,000)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진
www.acmicpc.net
from collections import deque
n, m , k = map(int,input().split()) # 세로 가로 음식물 수
graph = [ [0]*m for i in range(n)]
for i in range(k):
a,b = map(int,input().split())
graph[a-1][b-1] = 1
dx = [-1,1,0,0]
dy = [0,0,1,-1]
def bfs(x,y):
q = deque()
q.append((x,y))
graph[x][y] = 0
cnt = 1
while q :
a, b= q.popleft()
for i in range(4):
nx = a + dx[i]
ny = b + dy[i]
if nx<0 or nx>=n or ny<0 or ny>=m :
continue
if graph[nx][ny] == 1:
cnt += 1
q.append((nx,ny))
graph[nx][ny] = 0
return cnt
tmp = 0
for i in range(n):
for j in range(m):
if graph[i][j] != 0 :
tmp = max(tmp, bfs(i,j))
print(tmp)
728x90
반응형
'백준 > DFS_BFS' 카테고리의 다른 글
# 1697 숨바꼭질 (0) | 2021.04.10 |
---|---|
# 11725 트리의 부모 찾기 파이썬 (0) | 2021.03.11 |
# 2644 촌수계산 (0) | 2021.03.11 |
# 2583번: 영역 구하기 (0) | 2020.10.12 |
# 2468번: 안전 영역 (0) | 2020.10.12 |