정사각형 타일

격자의 파란 칸을 겹치지 않는 2x2 타일로 빈틈없이 덮을 수 있는지 판정하고 결과를 출력합니다.

쉬움3그리디행렬구현면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

기하 무늬 그림을 판다. 그림 하나는 1x1 정사각형 타일을 겹치지 않게 격자로 붙여서 만든다. 예를 들면 이런 그림이다.

.##..
.####
.####
.##..

#는 파란 타일, .은 흰 타일이다. 다른 색은 쓰지 않는다.

파란색을 싫어하는 손님은 그림의 파란 타일을 모두 빨간 타일로 바꿔 달라고 한다. 그런데 빨간 타일은 더 큰 2x2 크기로만 나와서 작업이 까다롭다.

파란 타일로만 채워진 2x2 정사각형을 빨간 타일 하나로 덮을 수 있고, 끝날 때까지 이 작업을 반복한다. 빨간 타일은 다른 빨간 타일과 겹칠 수 없고, 흰 타일을 덮을 수 없고, 그림 밖으로 나갈 수 없다. 위 그림에는 다음과 같이 빨간 타일을 놓을 수 있다.

./\..
.\//\
./\\/
.\/..

빨간 타일 하나는 왼쪽 위와 오른쪽 아래 칸에 /, 나머지 두 칸에 \를 써서 나타낸다.

파란색과 흰색으로 이루어진 그림이 주어질 때, 이 방법으로 빨간색과 흰색 그림으로 바꿀 수 있는지 판정하라.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어진다.

각 테스트 케이스의 첫 줄에는 그림의 행 개수 RR과 열 개수 CC가 주어진다. 다음 RR개의 줄에는 각각 정확히 CC개의 문자가 주어져 그림을 나타낸다. #는 파란 타일, .은 흰 타일이다.

제한

  • 1T201 \le T \le 20
  • 1R61 \le R \le 6
  • 1C61 \le C \le 6

출력

각 테스트 케이스마다 먼저 Case #x: 한 줄을 출력한다. x는 1부터 시작하는 케이스 번호다.

파란 타일을 겹치지 않는 빨간 타일로 모두 덮을 수 있으면, 정확히 CC개의 문자로 이루어진 줄 RR개를 출력해 완성된 빨간색과 흰색 그림을 나타낸다. 빨간 타일은 위와 같이 /\로, 흰 타일은 .으로 나타낸다. 덮을 수 있는 그림의 덮는 방법은 하나뿐이므로 답도 유일하다.

덮을 수 없으면 대신 Impossible 한 줄을 출력한다.