BOJ/C++
[BOJ] 2151. 거울설치 + TC
IamToday
2020. 3. 18. 20:29
*거울이 [\] [/] 이 두 방향으로 있다고 생각하고 풀어야 한다.
처음에는 45도이기 때문에 [/] 만 생각하고 풀었다가 아니라는 것을 알게 됐다.
*처음 [#] 좌표에서 출발해서 4방향 모두 큐에 넣는다.
*각 방향으로 한 칸 앞으로 전진한 좌표가 거울이면 방향을 바꾸어서 큐에 넣고, 방향을 바꾸지 않는 상태로도 큐에 넣는다.
이 좌표에 거울을 설치하지 않는 경우도 생각한다.
3
...
*!#
#!!
이 예시를 보면 (1, 3)에서 출발해서 (3,1)로 가야하는데 남쪽 방향으로 (3,3)의 거울로 간 후, 방향을 한 번 바꾸면 바로 (3,1)에 접근가능하다.