#1413
Silver IV

마스킹 테이프

서브테스크
원문: 日本語
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

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

종이는 직사각형이며, 세로 HH 행, 가로 WW 열의 칸이 그려져 있다. 위에서 ii 번째 행 (1iH1 \le i \le H), 왼쪽에서 jj 번째 열 (1jW1 \le j \le W) 의 칸을 칸 (i,j)(i, j) 라고 부른다.

각각의 칸에는 색이 11 개 정해져 있다. 색은 정수로 표현되며, 처음에 모든 칸의 색은 00 이다.

JOI 군은 이 종이와 마스킹 테이프를 사용하여 QQ 번의 조작을 한다. kk 번째 (1kQ1 \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 번의 조작이 끝난 후, 모든 마스킹 테이프를 떼어낸다. 또한, 어떤 칸의 마스킹 테이프를 떼어냈을 때, 그 칸의 색은 마스킹 테이프로 덮이기 직전의 색과 같아진다.

QQ 번의 조작에 대한 정보가 주어졌을 때, 최종적인 종이의 모든 칸의 색을 구하는 프로그램을 작성하시오.

제한

  • 2H5002 \le H \le 500.
  • 2W5002 \le W \le 500.
  • 1Q2000001 \le Q \le 200\,000.
  • qkq_{k}11 또는 22 중 하나이다 (1kQ1 \le k \le Q).
  • qk=1q_{k} = 1 일 때, 1xkH11 \le x_{k} \le H - 1, 1ykW11 \le y_{k} \le W - 1, 1ck1091 \le c_{k} \le 10^{9} (1kQ1 \le k \le Q).
  • qk=2q_{k} = 2 일 때, 1xkH11 \le x_{k} \le H - 1, 1ykW11 \le y_{k} \le W - 1 (1kQ1 \le k \le Q).
  • 입력되는 값은 모두 정수이다.

서브태스크

  1. (3232 점) H=2H = 2, W=2W = 2, qk=1q_k = 1 (1kQ1 \le k \le Q).
  2. (3232 점) qk=1q_k = 1 (1kQ1 \le k \le Q).
  3. (3636 점) 추가 제약이 없다.

입력

입력은 다음 형식으로 주어진다.
HH WW QQ
(Query1Query\,1)
(Query2Query\,2)
::
(QueryQQuery\,Q)

각 (QuerykQuery\,k) (1kQ1 \le k \le Q) 에는 몇 개의 정수가 공백으로 구분되어 주어진다. 그중 11 번째 정수가 qkq_{k} 이며, 이 줄의 내용은 다음 중 하나이다.

  • qk=1q_{k} = 1 일 때, 이 줄에는 이어서 33 개의 정수 xk,yk,ckx_{k}, y_{k}, c_{k} 가 공백으로 구분되어 주어진다.
  • qk=2q_{k} = 2 일 때, 이 줄에는 이어서 22 개의 정수 xk,ykx_{k}, y_{k} 가 공백으로 구분되어 주어진다.

출력

최종적인 종이의 모든 칸의 색을 HH 줄에 출력한다. ii 번째 줄 (1iH1 \le i \le H) 에는 WW 개의 정수를 공백으로 구분하여 출력한다. 여기서 jj 번째 (1jW1 \le j \le W) 로 출력하는 정수는 칸 (i,j)(i, j) 의 색이다.

예제 입력 1

5 5 4
1 2 2 1
2 1 2
2 3 3
1 1 3 5

예제 출력 1

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

44 번의 조작을 순서대로 살펴보자.

11 번째 조작에 대하여, q1=1q_{1} = 1 이다. 칸 (2,2)(2, 2), (2,3)(2, 3), (3,2)(3, 2), (3,3)(3, 3) 은 모두 마스킹 테이프로 덮여 있지 않으므로, 색을 11 로 변경한다.

이때, 종이는 다음과 같이 된다.

0 0 0 0 0
0 1 1 0 0
0 1 1 0 0
0 0 0 0 0
0 0 0 0 0

22 번째 조작에 대하여, q2=2q_{2} = 2 이다. 칸 (1,2)(1, 2), (1,3)(1, 3), (2,2)(2, 2), (2,3)(2, 3) 을 마스킹 테이프로 덮는다.

이때, 종이는 다음과 같이 된다. 또한, 마스킹 테이프로 덮은 칸의 색을 나타내는 정수의 오른쪽에 * 를 붙였다.

0 0* 0* 0 0
0 1* 1* 0 0
0 1 1 0 0
0 0 0 0 0
0 0 0 0 0

33 번째 조작에 대하여, q3=2q_{3} = 2 이다. 칸 (3,3)(3, 3), (3,4)(3, 4), (4,3)(4, 3), (4,4)(4, 4) 를 마스킹 테이프로 덮는다.

이때, 종이는 다음과 같이 된다.

0 0* 0* 0 0
0 1* 1* 0 0
0 1 1* 0* 0
0 0 0* 0* 0
0 0 0 0 0

44 번째 조작에 대하여, q4=1q_{4} = 1 이다. 칸 (1,4)(1, 4), (2,4)(2, 4) 는 마스킹 테이프로 덮여 있지 않으므로, 색을 55 로 변경한다. 칸 (1,3)(1, 3), (2,3)(2, 3) 은 마스킹 테이프로 덮여 있으므로, 아무것도 하지 않는다.

이때, 종이는 다음과 같이 된다.

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

따라서 최종적인 종이의 모든 칸의 색은 출력 예제와 같이 된다.

이 예제는 서브태스크 33 의 제약을 만족한다.

예제 입력 2

5 5 3
1 1 1 2
1 3 3 3
1 2 4 2

예제 출력 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

이 예제는 서브태스크 2,32, 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

예제 출력 3

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

이 예제는 서브태스크 33 의 제약을 만족한다.

코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출

제출 내역이 없습니다.

맞은 사람

아직 맞은 사람이 없습니다.

난이도 투표
Silver IV1명 투표· 약 22시간 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출

제출 내역이 없습니다.