inseonyun / Algorithm

알고리즘 문제 풀이
0 stars 0 forks source link

[BFS] 백준 : 3055_탈출 #61

Closed inseonyun closed 2 years ago

inseonyun commented 2 years ago

Source URL : https://www.acmicpc.net/problem/3055

문제 요구사항 :

접근 방법 :

풀이 순서 :

  1. R과 C를 입력 받고 해당 크기만큼의 map 정보를 입력 받는다.
    • 이때, 맵의 정보가 'D'일때, 'S'일때, '*' 일때 각각의 정보를 변수에 저장한다.
  2. BFS 수행
    • hadge_q에 startX, startY를 넣고, visited의 startX, startY = true를 넣는다.
    • hadge_q가 empty일 때까지 반복
    • water_q의 사이즈만큼 for문을 반복하여 water에 대해서 먼저 bfs 전이 를 한다.
    • 이후, hadge_q의 사이즈만큼 for문을 반복하여 1차 고슴도치 이동 bfs 탐색을 한다.
    • 이때, 다음 방문 정점이 'D'라면 flag 변수에 true를 준다.
    • 이와 같은 작업 반복
  3. flag가 true라면 checked의 endX, endY 좌표의 값을 출력, false라면 "KAKTUS" 출력
inseonyun commented 2 years ago

문제 풀이 결과 :

image