1226. [S/W 문제해결 기본] 7일차 - 미로1

dannyp0930·2021년 8월 27일
0

SW Expert Academy

목록 보기
12/14
post-thumbnail

출처 : 링크텍스트

1. 풀이 방법

BFS를 이용하여 미로의 출구를 찾을 수 있는지 판별하는 문제이다.

2. 코드

dr = [1, 0, -1, 0]
dc = [0, 1, 0, -1]


def maze():
    while Q:
        r, c = Q.pop(0)
        for i in range(4):
            nr, nc = r + dr[i], c + dc[i]
            if M[nr][nc] == 3:
                return 1
            if not M[nr][nc]:
                Q.append((nr, nc))
                M[nr][nc] = 1
    return 0


for _ in range(10):
    T = int(input())
    M = [list(map(int, input())) for _ in range(16)]
    Q = [(1, 1)]
    print('#{0} {1}'.format(T, maze()))
profile
Newbie 개발자

0개의 댓글