폴리오미노
https://www.acmicpc.net/problem/1343
문제
민식이는 다음과 같은 폴리오미노 2개를 무한개만큼 가지고 있다: AAAA
와 BB
.
이제 ‘.’와 ‘X’로 이루어진 보드판이 주어졌을 때, 민식이는 겹침없이 ‘X’를 모두 폴리오미노로 덮으려고 한다. 이때, ‘.’는 폴리오미노로 덮으면 안 된다.
폴리오미노로 모두 덮은 보드판을 출력하는 프로그램을 작성하시오.
입력
- 첫째 줄에 보드판이 주어진다. 보드판의 크기는 최대 50이다.
출력
- 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다.
예제
입력 1
1
XXXXXX
출력 1
1
AAAABB
입력 2
1
XX.XX
출력 2
1
BB.BB
입력 3
1
XXXX....XXX.....XX
출력 3
1
-1
입력 4
1
X
출력 4
1
-1
입력 5
1
XX.XXXXXXXXXX..XXXXXXXX...XXXXXX
출력 5
1
BB.AAAAAAAABB..AAAAAAAA...AAAABB
풀이
1
2
3
4
5
6
7
8
s = input()
s = s.replace('XXXX', 'AAAA')
s = s.replace('XX', 'BB')
if 'X' in s:
print(-1)
else:
print(s)
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.