아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

눈가리개

시간 제한1초메모리 제한128 MB

요약
장애물이 있는 격자와 정해진 이동 및 회전 명령이 주어질 때, 시작 위치와 방향에 상관없이 도달 가능한 모든 최종 칸을 표시한다.
난이도

보통10점 중 6점

유형
시뮬레이션, 비트 연산, 행렬, 구현
정답자
아직 제출이 없습니다

문제

로즈와 콜린이 뒷마당에서 게임을 한다. 뒷마당은 직사각형이므로 rr개의 행과 cc개의 열로 이루어진 격자로 볼 수 있다. 일부 칸에는 장애물이 놓여 있다.

게임 방식은 다음과 같다. 콜린이 눈을 가리면, 로즈가 그를 뒷마당의 어떤 칸으로 데려가 북·남·동·서 중 한 방향을 바라보도록 내려놓는다. 콜린은 자신의 처음 위치와 방향을 알지 못한다. 이후 로즈는 콜린에게 mm번의 이동을 지시하며, 각 이동은 다음 중 하나다.

  • F — 바라보는 방향으로 한 칸 전진한다.
  • L — 같은 칸에 머문 채 반시계 방향으로 90도 회전한다.
  • R — 같은 칸에 머문 채 시계 방향으로 90도 회전한다.

이 이동들을 모두 마치면 콜린은 어떤 최종 위치에 서 있게 된다. 콜린이 서 있을 수 있는 모든 최종 위치를 구하라. 단, 콜린의 처음 위치, 최종 위치, 그리고 모든 중간 위치는 항상 뒷마당 안에 있으며 장애물이 있는 칸에는 결코 들어가지 않는다고 가정한다. 또한 콜린이 바라보는 방향은 항상 뒷마당의 변과 평행하다(북·남·동·서).

입력

첫째 줄에 rr, 둘째 줄에 cc가 주어진다 (1≤r≤375, 1≤c≤80)(1 \le r \le 375,\ 1 \le c \le 80). 이어서 뒷마당을 나타내는 rr개의 줄이 주어지며, 각 줄은 cc개의 문자로 이루어진다. .는 지나갈 수 있는 칸을, X는 장애물이 있는 칸을 뜻한다. 그다음 줄에는 이동의 수 mm (0≤m≤30000)(0 \le m \le 30000)이 주어지고, 이어서 콜린의 이동을 나타내는 mm개의 줄이 주어진다. 각 줄에는 F, L, R 중 하나의 문자가 있다.

출력

뒷마당 격자를 rr개의 줄, 각 줄 cc개의 문자로 출력한다. 장애물 칸은 X로, 콜린이 최종적으로 서 있을 수 있는 칸은 *로, 그 밖에 지나갈 수 있는 칸은 .로 표시한다.

예제1

  1. 예제 1

    입력
    2
    4
    ....
    .XX.
    3
    F
    R
    F
    
    예상 출력
    .*..
    .XX*