만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

마스킹 테이프

면접 대비

시간 제한2초메모리 제한2048 MB

요약
격자에서 2x2 블록을 칠하고 테이프로 칸을 덮는 작업을 차례로 처리합니다. 모든 테이프를 뗀 뒤 각 칸의 최종 색을 출력합니다.
난이도

보통10점 중 4점

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

문제

JOI 군은 종이와 마스킹 테이프를 사용해 색칠하며 놀고 있다.

종이는 직사각형이며, 세로 H행, 가로 W열의 칸으로 나뉘어 있다. 위에서 ii번째 행, 왼쪽에서 jj번째 열에 있는 칸을 칸 (i,j)(i, j)라고 부른다.

각 칸에는 색이 하나씩 정해져 있다. 색은 정수로 나타내며, 처음에는 모든 칸의 색이 00이다.

JOI 군은 이 종이와 마스킹 테이프로 QQ번의 작업을 한다. kk번째 작업(1≤k≤Q1 \le k \le Q)은 정수 qkq_k의 값에 따라 다음과 같이 진행된다.

  • qk=1q_k = 1이면 정수 xk,yk,ckx_k, y_k, c_k가 주어진다. 칸 (xk,yk)(x_k, y_k), (xk+1,yk)(x_k + 1, y_k), (xk,yk+1)(x_k, y_k + 1), (xk+1,yk+1)(x_k + 1, y_k + 1) 각각에 대해, 마스킹 테이프로 덮여 있지 않은 칸이면 그 칸의 색을 ckc_k로 바꾼다. 테이프로 덮인 칸이면 아무것도 하지 않는다.
  • qk=2q_k = 2이면 정수 xk,ykx_k, y_k가 주어진다. 칸 (xk,yk)(x_k, y_k), (xk+1,yk)(x_k + 1, y_k), (xk,yk+1)(x_k, y_k + 1), (xk+1,yk+1)(x_k + 1, y_k + 1)을 마스킹 테이프로 덮는다.

QQ번의 작업이 끝나면 모든 마스킹 테이프를 뗀다. 칸의 테이프를 떼면 그 칸의 색은 테이프로 덮이기 직전의 색으로 돌아간다.

최종적인 종이의 모든 칸 색을 구하라.

입력

입력은 다음 형식으로 주어진다.

H W Q
(Query 1)
(Query 2)
:
(Query Q)

각 (Query k)(\text{Query } k)(1≤k≤Q1 \le k \le Q)에는 공백으로 구분된 정수가 여러 개 적혀 있다. 첫 번째 정수가 qkq_k이다.

  • qk=1q_k = 1이면 이어서 정수 3개 xk,yk,ckx_k, y_k, c_k가 적혀 있다.
  • qk=2q_k = 2이면 이어서 정수 2개 xk,ykx_k, y_k가 적혀 있다.

출력

모든 칸의 최종 색을 HH줄에 출력한다. ii번째 줄에는 WW개의 정수를 공백으로 구분해 출력하며, jj번째 정수는 칸 (i,j)(i, j)의 색이다.

제한

  • 2≤H≤5002 \le H \le 500.
  • 2≤W≤5002 \le W \le 500.
  • 1≤Q≤200 0001 \le Q \le 200\,000.
  • qkq_k는 11 또는 22이다 (1≤k≤Q1 \le k \le Q).
  • qk=1q_k = 1이면 1≤xk≤H−11 \le x_k \le H - 1, 1≤yk≤W−11 \le y_k \le W - 1, 1≤ck≤1091 \le c_k \le 10^9이다 (1≤k≤Q1 \le k \le Q).
  • qk=2q_k = 2이면 1≤xk≤H−11 \le x_k \le H - 1, 1≤yk≤W−11 \le y_k \le W - 1이다 (1≤k≤Q1 \le k \le Q).
  • 입력되는 값은 모두 정수이다.

예제3

  1. 예제 1

    입력
    5 5 4
    1 2 2 1
    2 1 2
    2 3 3
    1 1 3 5
    
    예상 출력
    0 0 0 5 0
    0 1 1 5 0
    0 1 1 0 0
    0 0 0 0 0
    0 0 0 0 0
    
  2. 예제 2

    입력
    5 5 3
    1 1 1 2
    1 3 3 3
    1 2 4 2
    
    예상 출력
    2 2 0 0 0
    2 2 0 2 2
    0 0 3 2 2
    0 0 3 3 0
    0 0 0 0 0
    
  3. 예제 3

    입력
    10 10 10
    2 5 7
    2 5 6
    1 5 6 1
    1 9 2 1
    2 1 1
    1 2 4 2
    2 3 2
    1 2 2 3
    1 9 9 2
    1 8 8 1
    
    예상 출력
    0 0 0 0 0 0 0 0 0 0
    0 0 3 2 2 0 0 0 0 0
    0 0 0 2 2 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 1 1 0
    0 1 1 0 0 0 0 1 1 2
    0 1 1 0 0 0 0 0 2 2