출발지가 여러개인 bfs. 좌표 먼저 넣어주면 ez // 보통 조합의 부분합 구할때도 많이쓰인다. import sys input = sys.stdin.readline from collections import deque def bfs(): queue = deque() dx = [1, -1, 0, 0] dy = [0, 0, -1, 1] for i in range(N): for j in range(M): if matrix[i][j] == 1: queue.append([i, j]) while queue: x, y = queue.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0