티스토리 뷰

Python (TEST)

SWEA - 1249. 보급로

Silverism 2020. 8. 5. 20:55
for tc in range(1, 1 + int(input())):
    n = int(input())
    m = [list(map(int, input())) for _ in range(n)]
    v = [[9 * n * n] * n for _ in range(n)]
    v[0][0] = 0
    st = [(0, 0)]
    while st:
        st2 = []
        for r, c in st:
            for dr, dc in ((1, 0), (-1, 0), (0, 1), (0, -1)):
                if 0 <= r + dr < n and 0 <= c + dc < n and v[r + dr][c + dc] > v[r][c] + m[r + dr][c + dc]:
                    v[r + dr][c + dc] = v[r][c] + m[r + dr][c + dc]
                    st2.append((r + dr, c + dc))
        st = st2
    print(f'#{tc}', v[n - 1][n - 1])

'Python (TEST)' 카테고리의 다른 글

BOJ - 9370. 미확인 도착지  (0) 2020.08.07
SWEA - 1767. 프로세서 연결하기  (0) 2020.08.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday