감시

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

어려웠다. BFS로 시도하였지만, 실패하였다.

해설을 보고 DFS로 풀었다.

풀이

  1. 이전 감시 상태를 가져와 복사한다. (깊은 복사)
  2. 감시 가능 지역을 표시한다.
  3. 다음 cctv를 탐색한다.

탐색 순서를 설명하기 위해 다음 표를 보자.

위의 표에서 감시 카메라는 A, B, C 세 개가 있다.

A와 B 는 상하 / 좌우 를 감시할 수 있고, C는 상하좌우를 감시할 수 있다.

탐색 순서는 다음 그림과 같이 나타낼 수 있다.

DFS이다. 최대한 깊이 탐색을 한다. 노랑색의 1~4 번 순서대로 탐색이 진행된다.

개념

배열을 매개변수로 전달했을 때, call by reference이다.

Comments