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]
설명이 잘못 되었거나 이해가 안되시는 부분 있으면 답글 달아주시면 감사드립니다!
반응형
'알고리즘 > 문제풀이' 카테고리의 다른 글
BOJ 1753 최단경로 (0) | 2017.10.06 |
---|---|
BOJ 11811 데스스타 (0) | 2017.10.04 |
BOJ 2533 사회망 서비스(SNS) (0) | 2017.09.24 |