2206. 벽 부수고 이동하기

·2025년 8월 11일

백준 알고리즘

목록 보기
213/343

https://www.acmicpc.net/board/view/27386

bfs에서의 정점의 정의

: 어떤 정점이 다른 정점으로의 간선으로 나아갈때,
그 이전 상황에 대해서 영향을 받으면 안된다. (강의 내용)
=> bfs로 최단거리 구할 때도 동일한 가중치라는 확실한 특징으로 bfs를 사용하는 것과 동일한 개념이다.

여기서의 상황은 동일한 가중치라고 할 수 있고,
가중치가 다르면, bfs는 불가하다.

  • 벽 부수고 이동하기의 문제는 빈칸 -> 벽으로 갈 때
    상황이 2개가 있기 때문에 정점의 의미에 부합하지 않다.

  • 메모리가 커서 전역으로 위치함.
  • 그래프에서의 정점은 앞의 상황이 어떻든 간에 할 수 있는 것이 모두 동일한 상황 및 조건이어야 한다.

  • 지금의 경우, 빈 공간 -> 벽 공간에서
    1) 벽을 부순적이 있는지
    2) 벽을 부순적이 없는지에 따라서 이동할수 있다, 없다가 달라진다.

정점의 정의

기존에는 (y,x) 였지만, -> (y,x,벽을 부순 횟수)
로 정의할 수 있따.

-> 여기서의 정점을 우리는 dist 또는 visted 로 보면 된다.

코드

profile
🔥🔥🔥

0개의 댓글