백준 4179. 불!

2025. 1. 26. 16:26·백준

https://www.acmicpc.net/problem/4179

import sys
from collections import deque
input = sys.stdin.readline

n, m = map(int, input().split()) # 세로, 가로
arr = [list(input().rstrip()) for _ in range(n)]
ans = 'IMPOSSIBLE'
q = deque()

# 지훈이 먼저 큐에 넣기!! 순서 중요!!
for i in range(n):
    for j in range(m):
        if arr[i][j] == 'J':
            q.append((0,i,j)) # 0은 지훈(소요시간 0 초기화)

# 그 다음 불 큐에 넣기
for i in range(n):
    for j in range(m):
        if arr[i][j] == 'F':
            q.append((-1,i,j)) # -1은 불

# 지훈이 먼저 이동, 그다음 불 퍼지기
while q:
    time, x, y = q.popleft()

    # 지훈이 탈출
    if time > -1 and arr[x][y] != 'F' and (x == 0 or y == 0 or x == n - 1 or y == m - 1):
        ans = time + 1
        break

    for dx, dy in [(1,0),(-1,0),(0,-1),(0,1)]:
        nx, ny = x+dx, y+dy
        if 0 <= nx < n and 0 <= ny < m and arr[nx][ny] != '#':

            # 지훈이 이동
            if time > -1 and arr[nx][ny] == '.':
                arr[nx][ny] = '_'
                q.append((time + 1, nx, ny))

            # 불 퍼뜨리기
            elif time == -1 and arr[nx][ny] != 'F':
                arr[nx][ny] = 'F'
                q.append((-1, nx, ny))

print(ans)
저작자표시 (새창열림)

'백준' 카테고리의 다른 글

10971. 외판원 순회 2  (0) 2025.01.28
백준 11724. 연결 요소의 개수  (0) 2025.01.28
백준 1726. 로봇  (0) 2025.01.26
백준 1260. DFS와 BFS  (0) 2025.01.25
백준 11559. Puyo Puyo  (0) 2025.01.23
'백준' 카테고리의 다른 글
  • 10971. 외판원 순회 2
  • 백준 11724. 연결 요소의 개수
  • 백준 1726. 로봇
  • 백준 1260. DFS와 BFS
버그잡는고양이발
버그잡는고양이발
주니어 개발자입니다!
  • 버그잡는고양이발
    지극히평범한개발블로그
    버그잡는고양이발
  • 전체
    오늘
    어제
    • 분류 전체보기 (382)
      • React (16)
      • Next.js (5)
      • Javascript (5)
      • Typescript (4)
      • Node.js (2)
      • Cs (16)
      • 트러블 슈팅 (5)
      • Html (1)
      • Css (3)
      • Django (0)
      • vue (0)
      • Java (2)
      • Python (0)
      • 독서 (1)
      • 기타 (3)
      • 백준 (192)
      • swea (31)
      • 프로그래머스 (30)
      • 이코테 (4)
      • 99클럽 코테 스터디 (30)
      • ssafy (31)
      • IT기사 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 인기 글

  • 태그

    Til
    개발자취업
    99클럽
    항해99
    코딩테스트준비
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
버그잡는고양이발
백준 4179. 불!
상단으로

티스토리툴바