그냥 하는 노트와 메모장

BOJ 2549 - 루빅의 사각형 본문

Solved problems

BOJ 2549 - 루빅의 사각형

coloredrabbit 2018. 8. 7. 16:47

* BOJ 2549 - 루빅의 사각형

  [ 분류 - BFS(Bidirectional search)/ Backtracking ]


  푸는 방법이 다소 다양해서 포스팅하고자 한다.


  주어진 문제에서 보면 최대 7번까지만 움직여도 충분히 해결가능한 입력만 주어진다고 한다. 그렇다면 주어진 입력과 목표 4x4배열을 E와 S라고 하자. 그러면 E가 최대 3~4번, S가 최대 3~4번을 움직이면 그 안에 겹치는 교차지점이 반드시 생긴다.


  특정 지점 4x4 배열 k에 대해 움직일 수 있는 가지수는 (4+4)*3이 된다. 즉 24 가지수가 나올 수 있는데, S또는 E에서 최대 7번을 움직이기 때문에 24^7의 경우의 수가 나오는데 이 값은 너무나 크다. 시간초과가 자명하다.


  따라서 S,E가 교차지점까지 3~4번 이동하는 최대 2*(24^4)의 경우의 수로 승부를 보자. 양방향 탐색을 구현해주시면 되겠다. 백트랙킹도 가능하나 이 포스팅은 양방향 탐색이 가능함을 알리기 위한 포스팅이기에 다른 블로그를 참고해주길 바란다.



'Solved problems' 카테고리의 다른 글

BOJ 14258 - XOR 그룹  (0) 2018.09.01
CS Academy - Array Removal  (0) 2018.09.01
Algospot - 정렬 게임(SORTGAME)  (0) 2018.07.03
Algospot - 어린이날 (CHILDRENDAY)  (0) 2018.07.03
BOJ 3987 - VOYAGER (보이저 1호)  (0) 2018.07.03
Comments