시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB198383760344.766%

문제

최대 5개의 조각이 있는 5×5 크기의 보드가 있다. 김지민은 조각을 적절히 움직여서 모든 조각이 연결 요소를 이루게 하려고 한다. 즉 상하좌우로 인접한 조각을 모두 연결했을 때, 모든 쌍의 조각이 적어도 하나의 경로로 연결되어 있어야 한다.

한 번의 이동으로 하나의 조각을 상하좌우로 인접한 칸으로 옮길 수 있다. 보드의 상태가 주어질 때, 최소 몇 번 이동해야 모든 조각이 연결 요소를 이루게 되는지 구하는 프로그램을 작성하시오.

입력

첫째 줄부터 다섯째 줄까지 보드의 상태가 주어진다. 빈 곳은 '.'이고, 조각은 '*'이다. 조각은 1개 이상 5개 이하이다.

출력

첫째 줄에 문제의 정답을 출력한다.

예제 입력 1

*...*
.....
.....
.....
*...*

예제 출력 1

12
 + + + + +
          
 + + O O +
          
 + + + O +
       |  
 + + + . +
          
 + + + + +

예제 입력 2

.....
..**.
.....
...*.
.....

예제 출력 2

1

예제 입력 3

.....
.....
.**..
.*...
**...

예제 출력 3

0
 . + +-+-.
 |   |    
 + + + + +
 |   |    
 +-O O O-+
         |
 + O + + +
   |     |
 .-+ + + .

출처

  • 문제를 번역한 사람: baekjoon
  • 문제를 다시 작성한 사람: jh05013