#286
조형물 복구
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%
문제
유진이는 동아리방을 꾸미기 위해 3D 프린터로 정교한 조형물을 하나 만들었다. 조형물의 모양은 '#'와 '.' 문자로 이루어진 격자판으로 표현된다 (). 여기서 '#'은 조형물의 일부를 나타내고, '.'은 빈 공간을 나타낸다.
그런데 유진이가 조형물을 옮기던 중, 실수로 조형물을 바닥에 떨어뜨리고 말았다. 조형물은 정확히 두 조각으로 부서졌고, 바닥에 있던 다른 개의 조각들 사이로 섞여 들어갔다 (). 각 조각 역시 원래 조형물과 마찬가지로 격자판으로 표현된다.
유진이를 도와 바닥에 있는 개의 조각 중 어떤 두 조각을 합쳐야 원래 조형물을 복구할 수 있는지 알아내자. 다행히 조각들은 바닥에 떨어질 때 회전하거나 뒤집히지 않았다. 따라서 각 조각을 가로 또는 세로 방향으로 적절히 평행 이동한 뒤 겹쳐서 원래 조형물을 만들 수 있다.
정확히 복구한다는 것은 다음을 의미한다.
- 두 조각을 평행 이동하여 겹쳤을 때, '#' 문자가 위치한 곳들이 원래 조형물의 '#' 위치와 정확히 일치해야 한다.
- 두 조각을 겹쳤을 때, 어느 위치에서도 두 조각의 '#' 문자가 서로 겹쳐서는 안 된다. 즉, 각 '#' 위치는 두 조각 중 정확히 한 곳에만 존재해야 한다.
- 어떤 조각을 이동시킬 때, 그 조각에 포함된 모든 '#' 문자가 격자 범위를 벗어나서는 안 된다.
- 한 조각이 여러 개의 떨어진 '#' 뭉치로 구성되어 있더라도, 한 조각 내의 모든 '#' 문자는 항상 같은 방향으로 같은 거리만큼 이동해야 한다.
입력
첫째 줄에 정수 과 가 공백으로 구분되어 주어진다. (; )
이어서 개의 줄에 걸쳐 원래 조형물의 모양을 나타내는 격자판이 주어진다.
그다음 개의 줄에 걸쳐 개의 조각 모양을 나타내는 격자판이 순서대로 주어진다.
출력
원래 조형물을 복구할 수 있는 두 조각의 번호를 공백으로 구분하여 한 줄에 출력한다. 조각의 번호는 부터 까지의 정수이며, 항상 유일한 해가 존재한다. 출력하는 두 번호는 오름차순이어야 한다.
코드 제출
코드를 제출하려면 로그인이 필요합니다.
로그인내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.