알고리즘/백준(BOJ)
[백준/C++] 1525번 퍼즐
https://www.acmicpc.net/problem/1525 1525번: 퍼즐 세 줄에 걸쳐서 표에 채워져 있는 아홉 개의 수가 주어진다. 한 줄에 세 개의 수가 주어지며, 빈 칸은 0으로 나타낸다. www.acmicpc.net 이 문제는 bfs 탐색을 할 때 마다 입력값을 바꿔주게 되면 다음 탐색에 영향이 가므로, 약간의 테크닉이 필요하다. 그것이 바로 string과 set의 사용이다! 우선, 문제의 입력값을 string으로 받는다. 그리고 나서 string의 인덱스 값을 이용하여 행렬 좌표로 변환을 진행한다. 변환된 좌표값으로 상하좌우 주변을 탐색하고, 올바른 범위일 때 좌표값을 다시 string의 인덱스 값으로 변환하여 swap함수를 적용시킨다! 여타 bfs와 마찬가지로 방문 여부를 체..