시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
구역의 경계가 여러 개 주어진다. 각 구역의 경계와 그 내부를 해당 알파벳으로 채워, 완성된 격자를 출력하는 프로그램을 작성하시오.
첫 줄에 테스트 케이스의 개수가 주어진다.
각 테스트 케이스의 첫 줄에는 행의 개수 R, 열의 개수 C, 구역의 개수가 주어진다. 행 번호는 위에서부터 1, 열 번호는 왼쪽에서부터 1로 센다. 행은 최대 47행, 열은 최대 63열이다.
이어서 각 구역의 설명이 두 줄씩 주어진다. 첫 줄에는 그 구역을 채울 알파벳, 경계선이 시작하는 행 번호와 열 번호, 경계선의 길이가 주어진다. 경계선의 길이는 적어도 2이다. 구역을 나타내는 알파벳은 서로 중복되지 않는다. 다음 줄에는 경계선을 나타내는 방향 문자열이 주어진다.
방향 문자는 현재 칸을 기준으로 다음 위치를 뜻한다.
H A BG CF E D방향 문자열은 시작 칸에서 출발해 경계선을 시계 방향으로 따라가며 주어진다.
각 테스트 케이스마다 R개의 줄에 C개의 문자를 출력한다. 구역에 포함되는 칸은 그 구역의 알파벳으로, 어떤 구역에도 포함되지 않는 칸은 마침표(.)로 출력한다.
아래 오류가 발생하면, 완성된 격자를 출력하기 전에 발생한 순서대로 한 줄에 하나씩 출력한다. 아래의 A와 B는 실제 구역 알파벳으로 바꾸어 출력한다.
REGION A GOES OUTSIDE THE ARRAYREGION A BOUNDARY IS NOT CLOSEDB의 경계가 이전에 채워진 구역 A와 겹치면 다음 줄을 출력한다.REGION B BOUNDARY INTERSECTS REGION A테스트 케이스 사이에는 빈 줄을 하나 출력한다.
H A BG CF E DREGION A GOES OUTSIDE THE ARRAYREGION A BOUNDARY IS NOT CLOSEDREGION B BOUNDARY INTERSECTS REGION A