https://www.acmicpc.net/problem/1525
BFS 문제입니다.
문제를 쉽게 만들 수 있는 방법은 '0'을 '9'로 치환해서 풀면 됩니다.
그러면 맨 앞자리에 0이 오는 경우도 int 자료형으로 처리할 수 있습니다. 정답 숫자는 123456789가 되겠네요.
swap을 통해 좌표를 움직여주는 방법은 1차원으로 움직이든, 2차원으로 움직이든 상관없습니다.
(저는 1차원 배열 형태로 해결했습니다.)
set<int>를 통해 방문했던 상태를 저장하면 해결할 수 있습니다.
https://github.com/cottory/algorithm/blob/master/BOJ/BOJ1525.cc
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ]2206번: 벽 부수고 이동하기 (0) | 2020.08.18 |
---|---|
[BOJ]7562번: 나이트의 이동 (0) | 2020.08.18 |
[BOJ]10217번: KCM Travel (0) | 2020.08.17 |
[BOJ]16681번: 등산 (0) | 2020.08.14 |
[BOJ]3055번: 탈출 (0) | 2020.08.14 |