코딩테스트 준비/[백준]
[백준] 1743번 음식물 피하기
bled
2021. 6. 10. 21:40
from collections import deque
def BFS(r, c):
global N, M, field
q = deque([(r, c)])
field[r][c] = 0
dx = [1, 0, -1, 0]
dy = [0, 1, 0, -1]
s = 1
while q:
y, x = q.popleft()
for i in range(4):
ny = y + dy[i]
nx = x + dx[i]
if 0 <= ny < N and 0 <= nx < M and field[ny][nx]:
q.append((ny, nx))
field[ny][nx] = 0
s += 1
return s
N, M, K = map(int, input().split())
field = [[0 for _ in range(M)] for _ in range(N)]
for i in range(K):
r, c = map(int, input().split())
field[r-1][c-1] = 1
size = -1
for i in range(N):
for j in range(M):
if field[i][j]:
size = max(size, BFS(i, j))
print(size)
https://www.acmicpc.net/problem/1743
1743번: 음식물 피하기
첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ 10,000)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진
www.acmicpc.net