題目描述
JOI 君正在使用畫紙與遮蔽膠帶玩塗色遊戲。
畫紙是長方形的,上面畫有縱 $H$ 行、橫 $W$ 列的方格。從上往下第 $i$ 行($1 \le i \le H$)、從左往右第 $j$ 列($1 \le j \le W$)的格子稱為格子 $(i, j)$。
每個格子都設定有 $1$ 種顏色。顏色以整數表示,初始時所有格子的顏色皆為 $0$。
JOI 君使用這張畫紙與遮蔽膠帶進行 $Q$ 次操作。第 $k$ 次($1 \le k \le Q$)操作根據整數 $q_k$ 的值按如下方式進行:
- 當 $q_k = 1$ 時,該操作以整數 $x_k, y_k, c_k$ 表示。對於格子 $(x_k, y_k)$、$(x_k + 1, y_k)$、$(x_k, y_k + 1)$、$(x_k + 1, y_k + 1)$ 中的每一個,若該格子未被遮蔽膠帶覆蓋,則將該格子的顏色更改為 $c_k$;若該格子已被遮蔽膠帶覆蓋,則對該格子不做任何操作。
- 當 $q_k = 2$ 時,該操作以整數 $x_k, y_k$ 表示。用遮蔽膠帶覆蓋格子 $(x_k, y_k)$、$(x_k + 1, y_k)$、$(x_k, y_k + 1)$、$(x_k + 1, y_k + 1)$。
在全部 $Q$ 次操作結束後,撕下所有的遮蔽膠帶。注意,當撕下某個格子上的遮蔽膠帶時,該格子的顏色會恢復為它被遮蔽膠帶覆蓋前那一刻的顏色。
給定 $Q$ 次操作的資訊,請撰寫一個程式,求出最終畫紙上所有格子的顏色。
資料範圍
- $2 \le H \le 500$。
- $2 \le W \le 500$。
- $1 \le Q \le 200\,000$。
- $q_k$ 為 $1$ 或 $2$ 之一($1 \le k \le Q$)。
- 當 $q_k = 1$ 時,$1 \le x_k \le H - 1$,$1 \le y_k \le W - 1$,$1 \le c_k \le 10^9$($1 \le k \le Q$)。
- 當 $q_k = 2$ 時,$1 \le x_k \le H - 1$,$1 \le y_k \le W - 1$($1 \le k \le Q$)。
- 輸入的所有值皆為整數。
子任務
- ($32$ 分)$H = 2$,$W = 2$,$q_k = 1$($1 \le k \le Q$)。
- ($32$ 分)$q_k = 1$($1 \le k \le Q$)。
- ($36$ 分)無額外限制。
輸入格式
輸入按以下格式給出:
$$ \begin{aligned} &H\ W\ Q \\ &(\text{Query } 1) \\ &(\text{Query } 2) \\ &\vdots \\ &(\text{Query } Q) \end{aligned} $$
每個 $(\text{Query } k)$($1 \le k \le Q$)包含若干個以空格分隔的整數。其中第 $1$ 個整數為 $q_k$,該行的內容為以下之一:
- 當 $q_k = 1$ 時,該行隨後有 $3$ 個以空格分隔的整數 $x_k, y_k, c_k$。
- 當 $q_k = 2$ 時,該行隨後有 $2$ 個以空格分隔的整數 $x_k, y_k$。
輸出格式
輸出 $H$ 行,表示最終畫紙上所有格子的顏色。在第 $i$ 行($1 \le i \le H$)輸出 $W$ 個以空格分隔的整數,其中第 $j$ 個($1 \le j \le W$)輸出的整數為格子 $(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
按順序觀察這 $4$ 次操作。
對於第 $1$ 次操作,$q_1 = 1$。由於格子 $(2, 2)$、$(2, 3)$、$(3, 2)$、$(3, 3)$ 皆未被遮蔽膠帶覆蓋,因此將它們的顏色更改為 $1$。
此時,畫紙如下所示:
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
對於第 $2$ 次操作,$q_2 = 2$。用遮蔽膠帶覆蓋格子 $(1, 2)$、$(1, 3)$、$(2, 2)$、$(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
對於第 $3$ 次操作,$q_3 = 2$。用遮蔽膠帶覆蓋格子 $(3, 3)$、$(3, 4)$、$(4, 3)$、$(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
對於第 $4$ 次操作,$q_4 = 1$。由於格子 $(1, 4)$、$(2, 4)$ 未被遮蔽膠帶覆蓋,因此將它們的顏色更改為 $5$。由於格子 $(1, 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
因此,最終畫紙上所有格子的顏色如範例輸出所示。
本範例滿足子任務 $3$ 的限制。
範例輸入 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, 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
本範例滿足子任務 $3$ 的限制。