-
[백준] 16948번 문제 (데스나이트) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 9. 7. 15:55
https://www.acmicpc.net/problem/16948
from collections import deque def bfs(y, x): q = deque() q.append((y, x)) graph[y][x] = 0 while q: y, x = q.popleft() for dy, dx in d: ny, nx = y+dy, x+dx if 0 <= ny < n and 0 <= nx < n and graph[ny][nx] == -1: q.append((ny, nx)) graph[ny][nx] = graph[y][x]+1 n = int(input()) r1, c1, r2, c2 = map(int, input().split()) graph = [[-1] * n for _ in range(n)] d = [(-2, -1), (-2, 1), (0, -2), (0, 2), (2, -1), (2, 1)] bfs(r1, c1) print(graph[r2][c2])
bfs 문제이다.
전형적인 bfs 알고리즘을 통해 풀었고, 그 이외에는 특별한 점이 없다.
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 12852번 문제 (1로 만들기 2) 파이썬(Python) 풀이 (0) 2021.09.09 [백준] 1021번 문제 (회전하는 큐) 파이썬(Python) 풀이 (0) 2021.09.09 [백준] 16953번 문제 (A → B) 파이썬(Python) 풀이 (0) 2021.09.07 [백준] 1010번 문제 (다리 놓기) 파이썬(Python) 풀이 (0) 2021.09.07 [백준] 5567번 문제 (결혼식) 파이썬(Python) 풀이 (0) 2021.09.07