| 题目名称 | 842. 绘画 | 
|---|---|
| 输入输出 | drawing.in/out | 
| 难度等级 | ★★★ | 
| 时间限制 | 1000 ms (1 s) | 
| 内存限制 | 128 MiB | 
| 测试数据 | 10 | 
| 题目来源 | 
 | 
| 开放分组 | 全部用户 | 
| 提交状态 | |
| 分类标签 | |
| 分享题解 | 
| 通过:7, 提交:26, 通过率:26.92% | ||||
| 
 | 
100 | 1.898 s | 12.64 MiB | Pascal | 
| 
 | 
100 | 1.914 s | 12.64 MiB | Pascal | 
| 
 | 
100 | 1.977 s | 25.74 MiB | Pascal | 
| 
 | 
100 | 2.957 s | 6.82 MiB | C++ | 
| 
 | 
100 | 4.004 s | 10.51 MiB | Pascal | 
| 
 | 
100 | 4.070 s | 10.51 MiB | Pascal | 
| 
 | 
100 | 5.063 s | 11.20 MiB | Pascal | 
| 
 | 
90 | 4.698 s | 10.51 MiB | Pascal | 
| 
 | 
50 | 5.299 s | 10.51 MiB | Pascal | 
| 
 | 
50 | 5.309 s | 10.49 MiB | Pascal | 
| 本题关联比赛 | |||
| 20120705 | |||
| 关于 绘画 的近10条评论(全部评论) | 
|---|
【问题描述】
Fj设计了一个绘画程序,这个绘画程序就是在N(行)*N(列)的方格里,给某些区域各自染上不同的颜色。颜色一共有K种,标号分别是1..K.默认颜色为白色(标号为1)。
N*N的方格里的最左上的那个格子的编号为(0,0)。某个格子的编号为(x,y),这里x是所在格子的行标,y是所在列的列标。
Fj的绘画程序有三种不同的命令
1) PAINT命令:PAINTc x1y1x2y2 给(x1,y1)到(x2,y2)这个矩形染上C的颜色,不过这种染色不是在整个区域全部染上颜色C,而是在x1,y1染上染上颜色c,其余交错染色,如下图所示,这是一个染上红色的矩形。(注意:白色是底色,并不是染上白色,也就是说白色区域并没有染色。)
	
 
2) SAVE命令:SAVE 将当前棋盘的颜色存储起来。
3) LOAD命令:LOAD x 将棋盘的颜色变为第x次存储的状态。
最初棋盘是纯白色(颜色代码是1),给出M条命令,每条命令肯定是以上三种命令中的一种,问M条命令后,棋盘的状态。
【输入】
第一行三个整数N(1≤N≤1000),K(2≤K≤100000),和M(1 ≤M≤100000)意义如题目所示。
接下来M行,为M条命令。
【输出】
N行*N列的矩阵,每行中整数用单个空格隔开,表示棋盘的颜色状态。
	
【输入输出样例1】
| 
				 drawing.in  | 
			
				 drawing.out  | 
		
| 
				 
					 
					  | 
			
				 
					 
					  | 
		
	
【输入输出样例2】
| 
				 drawing.in  | 
			
				 drawing.out  | 
		
| 
				 
					 
					  | 
			
				 
					 
					 
					  | 
		
【输入输出样例3】
| 
				 drawing.in  | 
			
				 drawing.out  | 
		
| 
				 
					 
					  | 
			
				 
					 
					 
					  | 
		
	
【数据范围】
30%数据保证N<=100 M<=4000