[백준 5427번] 불
5427번: 불 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에 www.acmicpc.net # 상근이는 불이 옮겨진 칸과 불이 붙으려는 칸으로 이동 X # 상근이가 있는 칸에 불이 옮겨옴과 동시에 다른 칸으로 이동할 수 있다. # 빌딩의 지도가 주어졌을때, 얼마나 빨리 빌딩을 탈출할 수 있는가(최단 시간) # 빌딩을 탈출하는 최단 시간, 불가능하다면 IMPOSSIBLE 출력 from collections import deque t = int(input()) dx = [-1,1,0,0] dy = [0,0,-1,1] for _ in range(t): w, h = ma..
2023. 12. 29.
[SWEA - D4] 보급로
# 정답 코드(BFS + 최단경로) from collections import deque T = int(input()) for test_case in range(1, T + 1): n = int(input()) dx = [-1,1,0,0] dy = [0,0,-1,1] area = [list(map(int,(list(input())))) for _ in range(n)] visited = [[False]*n for _ in range(n)] time = [[0]*n for _ in range(n)] def bfs(): visited[0][0] = True queue = deque([(0,0)]) while queue: x, y = queue.popleft() for i in range(4): nx = x ..
2023. 11. 19.
[프로그래머스 PCCP 모의고사 4번] 보물 지도
from collections import deque def solution(n, m, hole): dx = [-1,1,0,0] dy = [0,0,-1,1] area = [[0]*n for _ in range(m)] visited = [[[-1]*n for _ in range(m)] for _ in range(2)] for hx, hy in hole: area[hy-1][hx-1] = -1 area[0][0],area[m-1][n-1] = 1, 2 def bfs(): visited[0][0][0] = 0 queue = deque([(0,0,0)]) while queue: w, x, y = queue.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] ..
2023. 11. 11.
[백준 2589번] 보물섬
2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net import sys from collections import deque input = sys.stdin.readline dx = [-1,1,0,0] dy = [0,0,-1,1] # L : 육지, W : 바다 max_value = float("-inf") n, m = map(int,input().split()) area = [list(input().rstrip()) for _ in range(n)] def bfs(x,y): global max_value visite..
2023. 10. 20.