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

아이디어가 재미있는 bfs 문제였다.
초기조건이 위, , 오른쪽인 두 상태에서 시작해서 같은 커맨드들을 거쳐 둘다 오른쪽 위로 가장 빠르게 갈 수 있는 방법을 찾는 것이다.
초기에 위, 오른쪽일 때를 따로 분리해 case1 , case2 라 하면, case1이 먼저 도착하면 case1은 더이상 움직이지 않고, case2만 움직이도록 하면 된다.
bfs 에서 방문배열은 visit[case1 의 좌표][case1방향][case2의 좌표][case2 방향] 으로 설정하였다. 각 상황에서 오른쪽, 왼쪽 회전, 직진 세가지를 모두 진행시켜 다음 상태를 큐에 넣는 식으로 진행하면 된다.
한개의 객체를 두개의 케이스로 나누고 각각의 상황을 모두 고려한 큐로 만든다는 것이 기발하고 재밌는 문제
'알고리즘 > baekjoon(boj)' 카테고리의 다른 글
| [platinum4] [해설,분류 미확인]22870 산책(Large) (0) | 2026.02.26 |
|---|---|
| [platinum4] [해설,분류 미확인]9520 NP-hard (0) | 2026.02.24 |
| [platinum5] [해설, 분류안봄] 31421 호떡 뒤집기 (0) | 2026.02.20 |
| [platinum5][해설분류 미확인] 1413 박스안의 열쇠 (0) | 2026.02.16 |
| [platinum5] [풀이,분류 안봄]1231 주식왕 동호 (0) | 2026.02.12 |