공

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

요약
벽과 공이 있는 N x N 보드를 K번 회전시키면서 매번 중력으로 공을 떨어뜨린 뒤 최종 보드를 출력하는 문제입니다.
난이도

보통10점 중 5점

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

문제

N x N개의 정사각형 칸으로 이루어진 정사각형 게임판이 세워져 있다. 각 칸은 빈칸이거나 벽이며, 빈칸 중 하나에는 공이 놓여 있다. 공은 중력의 영향을 받으므로 항상 벽 위나 게임판의 바닥 위에 머문다.

게임판은 한 번에 시계 방향 또는 시계 반대 방향으로 90도 회전할 수 있다. 회전할 때 벽과 공도 게임판과 함께 회전한다. 회전이 끝나면 공은 다시 중력의 영향을 받아 벽이나 게임판의 바닥에 닿을 때까지 떨어진다.

아래 그림은 게임판을 시계 방향으로 회전한 뒤 다시 시계 반대 방향으로 회전하는 과정을 보여 준다.

주어진 회전을 모두 수행한 뒤의 게임판 상태를 출력하시오.

입력

첫째 줄에 게임판의 크기 N(1 <= N <= 1000)과 회전 횟수 K(1 <= K <= 500,000)가 주어진다.

다음 N개의 줄에는 게임판의 초기 상태가 주어진다. .은 빈칸, X는 벽, L은 공의 초기 위치를 뜻한다.

이후 K개의 줄에는 각 회전의 방향을 나타내는 문자 L 또는 D가 한 줄에 하나씩 주어진다. L은 시계 반대 방향, D는 시계 방향을 뜻한다.

출력

K번의 회전을 순서대로 모두 수행한 뒤의 게임판 상태를 N개의 줄에 출력한다.

예제3

  1. 예제 1

    입력
    6 2
    ....XX
    X.....
    ......
    ..L...
    .XXX..
    ......
    L
    D
    
    예상 출력
    ....XX
    X.....
    ......
    ......
    .XXX..
    L.....
    
  2. 예제 2

    입력
    10 7
    ..........
    XXXXXXXXX.
    ..X.....X.
    ..X.....X.
    ........X.
    ........X.
    ...X....X.
    ...X....X.
    .XXXXXXXX.
    L.........
    L
    L
    L
    L
    D
    D
    L
    
    예상 출력
    ........X.
    .X......X.
    .X....XXX.
    .XXX....X.
    .X......X.
    .X......X.
    .X......X.
    .X...L..X.
    .XXXXXXXX.
    ..........
    
  3. 예제 3

    입력
    10 8
    ...XXX..XX
    ....XX...X
    L....X..XX
    X..X..X...
    .......X..
    ..X.....X.
    .X........
    X...X.....
    ...X......
    .....X....
    D
    L
    D
    L
    D
    D
    D
    L
    
    예상 출력
    ....X.....
    ......X...
    .....X...X
    ........X.
    .X.....X..
    ..X.......
    ...X..X..X
    XX..X.....
    X...XX....
    XXL.XXX...