Flow Free

3개 또는 4개의 색 쌍이 있는 4x4 Flow Free 판이 주어질 때, 같은 색 끝점을 잇는 경로로 모든 칸을 겹치지 않게 채울 수 있는지 판정한다.

보통6백트래킹DFS구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

4 \times 4 Flow Free 판과 해답 하나

Flow Free는 격자판에서 하는 퍼즐이다. 일부 칸에는 색깔 점이 놓여 있고 같은 색 점은 정확히 두 개씩 있으며, 나머지 칸은 빈 칸이다.

퍼즐을 풀려면 같은 색 점 두 개를 다음 규칙에 맞게 경로로 이어야 한다.

  • 같은 색 점 두 개를 잇는 경로가 있고, 그 경로의 색은 점의 색과 같다
  • 판의 모든 칸을 사용하고, 각 칸은 정확히 한 경로에 속한다

따라서 색이 다른 두 경로는 같은 칸을 지나지 못한다.

경로는 선분을 이어 붙인 것이다. 선분 하나는 변을 맞댄 두 칸을 잇고, 그래서 모든 선분은 가로 아니면 세로다. 위 규칙에 따르면 색깔 점이 놓인 칸은 정확히 한 선분의 끝이고 빈 칸은 정확히 두 선분의 끝이다.

경로가 자기 자신과 옆으로 맞닿아도 된다. 한 경로의 두 칸이 변을 맞대고 있어도 경로에서 연이어 나오지 않으면 그 사이에는 선분이 없다.

이 문제에서는 4×44 \times 4 판만 다루고, 색깔 점의 쌍은 3개 또는 4개다.

주어진 퍼즐을 풀 수 있는지 판정하라.

입력

입력은 네 줄이고 각 줄은 네 글자다. 각 글자는 R, G, B, Y, W 중 하나이며, W는 빈 칸이고 나머지는 그 색의 점이 놓인 칸이다. 색깔 점은 정확히 3쌍 또는 4쌍 주어진다. 3쌍인 경우 Y는 나오지 않는다.

출력

퍼즐을 풀 수 있으면 solvable을, 풀 수 없으면 not solvable을 한 줄에 출력한다.