섬나라 아일랜드 (BFS)
생성일: 2022년 2월 18일 오후 2:52
구현 코드
# 섬나라 아일랜드 (BFS)
import sys
from collections import deque
sys.stdin = open("input.txt", "rt")
def BFS():
global cnt
Q = deque()
for i in range(n):
for j in range(n):
if board[i][j] == 1:
board[i][j] = 0
Q.append((i, j))
cnt += 1
while Q:
tmp = Q.popleft()
for k in range(8):
x = tmp[0]+dx[k]
y = tmp[1]+dy[k]
if 0<=x<n and 0<=y<n and board[x][y] == 1:
board[x][y] = 0
Q.append((x,y))
else:
pass
if __name__ == "__main__":
n = int(input())
board = []
for _ in range(n):
board.append(list(map(int, input().split())))
dx=[-1, -1, -1, 0, 1, 0, 1, 1]
dy=[1, -1, 0, 1, 0, -1, 1, -1]
cnt = 0
BFS()
print(cnt)
Author And Source
이 문제에 관하여(섬나라 아일랜드 (BFS)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lsj8706/섬나라-아일랜드-BFS저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)