알고리즘/문제풀이
BOJ 1525 퍼즐
sy.cho__
2017. 9. 25. 01:49
BOJ 1525 퍼즐[https://www.acmicpc.net/problem/1525]
BFS를 이용한 완전탐색 문제입니다.
빈칸을 옮겨가며 모든 경우의 수를 확인해보면 되는데
문제는 방문체크를 하는 것입니다.
3x3 행렬을 다음과 같이 정수를 변환시켜 보겠습니다.
1 |
2 |
3 |
0 |
4 |
5 |
6 |
7 |
8 |
위 행렬은 123045678 와 같은 정수로 변환할 수 있습니다.
STL의 set을 이용하여 변환된 정수를 Key값으로 사용하면 방문체크를 할 수 있습니다.
방문체크를 제외하고는 BFS 알고리즘을 그대로 구현하시면 됩니다.
아래 주소에서 정답코드 확인가능합니다.
[https://github.com/choseungyoon/Algorithm/blob/master/1525.cpp]
설명이 잘못 되었거나 이해가 안되시는 부분 있으면 답글 달아주시면 감사드립니다!
반응형