P7636 [COCI 2010/2011 #5] SLIKA

题目描述

Mirko 刚刚安装了一个全新的绘图程序。该程序支持 $K$ 种不同的颜色,用从 $1$ 到 $K$ 的整数表示。所有的绘图都是在一个尺寸为 $N\times N$ 的画布上完成的。在开始时,所有格子都是白色的(用 `1`表示)。 画布左上角的单元格为坐标 $(0,0)$。第一个坐标 $x$ 表示行,第二个坐标 $y$ 表示列。 Mirko 最喜欢的消遣是使用 `PAINT c x1 y1 x2 y2` 命令绘制矩形棋盘图案,其中 $c$ 表示所选的颜色,$(x1,y1)$ 和 $(x2,y2)$ 分别是左上的坐标和右下的坐标。 矩形左上角的单元格将被绘制为所选的颜色,而其余的则如棋盘一样涂色。没有被所选颜色覆盖的单元格将保持它们之前的颜色。 例如,一个白色的画布涂上一个红色的棋盘图案看起来就像这样的: ![](https://cdn.luogu.com.cn/upload/image_hosting/03pv1kce.png) Mirko最近发现了另外两个命令。他可以随时保存他的画通过使用 `SAVE` 的命令,稍后使用 `load x` 命令再次加载它,其中 $x$ 表示保存的序列号的正整数。 不幸的是,程序崩溃了,Mirko 的画永远丢失了。幸运的是,Mirko 用了一个保存所有已使用命令的日志。你能帮 Mirko 修复那幅丢失的画吗?

输入格式

输入的第一行包含三个正整数 $N,K,M$,$N$ 代表画布的边长,$K$ 代表有 $K$ 种颜色,$M$ 代表命令个数。 下面的 $M$ 行每一行都包含描述的三个命令中的一个。输入将不包含任何非法的命令。

输出格式

输出共 $N$ 行,每一行包含 $N$ 个表示单元格颜色的整数,对应一行的画。

说明/提示

**【样例解释#1】** 命令 $1$ 将 $(0,0)$ 到 $(3,3)$ 的格子染成了棋盘式,即把 $(0,0)$,$(0,2)$,$(1,1)$,$(1,3)$,$(2,0)$,$(2,2)$,$(3,1)$,$(3,3)$ 都染成了 $2$。 命令 $2$ 将 $(0,3)$ 到 $(3,3)$ 的格子染成了棋盘式,即把 $(0,3)$,$(2,3)$ 染成了 $3$。 **【数据范围】** 对于 $100\%$ 的数据,$1\le N\le 1000$,$2\le K\le 10^5$,$1 \leq M \leq 10^5$。 **【说明】** 本题分值按 COCI 原题设置,满分 $130$。 题目译自 [COCI2010-2011](https://hsin.hr/coci/archive/2010_2011/) [CONTEST #5](https://hsin.hr/coci/archive/2010_2011/contest5_tasks.pdf) _**T6 SLIKA**_。