*거울이 [\] [/] 이 두 방향으로 있다고 생각하고 풀어야 한다.
처음에는 45도이기 때문에 [/] 만 생각하고 풀었다가 아니라는 것을 알게 됐다.
*처음 [#] 좌표에서 출발해서 4방향 모두 큐에 넣는다.
*각 방향으로 한 칸 앞으로 전진한 좌표가 거울이면 방향을 바꾸어서 큐에 넣고, 방향을 바꾸지 않는 상태로도 큐에 넣는다.
이 좌표에 거울을 설치하지 않는 경우도 생각한다.
3
...
*!#
#!!
이 예시를 보면 (1, 3)에서 출발해서 (3,1)로 가야하는데 남쪽 방향으로 (3,3)의 거울로 간 후, 방향을 한 번 바꾸면 바로 (3,1)에 접근가능하다.
'BOJ > C++' 카테고리의 다른 글
[BOJ] 10799. 쇠막대기 (C) (0) | 2020.03.24 |
---|---|
[BOJ] 1158. 요세푸스 문제 (C) (0) | 2020.03.24 |
[BOJ] 9376. 탈옥 (0) | 2020.03.18 |
[BOJ] 12094. 2048(Hard) (0) | 2020.03.18 |
[BOJ] 16638. 괄호 추가하기2 (0) | 2020.03.17 |