[SWEA] - 1226. 미로1

jjiani·2021년 3월 6일
0

SWEA

목록 보기
20/20
post-thumbnail

swea - 문제 링크

def dfs(r, c):
    global result
    visited[r][c] = 1

    if maze[r][c] == '3':
        result = 1
        return result

    for i in range(4):
        nr = r + dx[i]
        nc = c + dy[i]
        # 범위 벗어나지 않도록 체크
        if 0 <= nr < 16 and 0 <= nc < 16:
            if maze[nr][nc] != '1' and visited[nr][nc] == 0:
                dfs(nr, nc)
    return result


dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]

for tc in range(10):
    T = int(input())

    maze = [list(input()) for _ in range(16)]

    visited = [[0]*16 for _ in range(16)]
    result = 0
    # 출발지점 위치찾기
    for i in range(16):
        for j in range(16):
            if maze[i][j] == '2':
                sr, sc = i, j
                break

    print('#{} {}'.format(T, dfs(sr, sc)))

🔑 도착했는지 안했는지만 판단하면 되는문제라 간단했다. 기초단계의 BFS문제는 비슷비슷한것같다... 잘 모르고 하는 소리이긴 하지만 ㅎㅎ😓

profile
¡Bienvenido a mi velog!🐣

0개의 댓글