原题见:http://acm.uva.es/p/v102/10267.html
背景
图形编辑器(graphical editor)允许用户改变位图图像,比如大家经常用到的Photoshop。它所采用的改变方法和文本编辑器允许修改文档的方法一样。位图图像由MxN的像素矩阵来表示,并且每个像素点都有给定的颜色。
我们的任务就是来要编写一个程序来模拟一个简单的交互式图形编辑器。
输入
输入由一组编辑命令序列组成,每条序列占一行。每个命令都是由一个大写字母表示的,且放在每行序列首字符的位置上。如果命令需要带参数,那么给出的参数将和命令放在同一行,并用空格相互隔开。 像素点的坐标用两个整数表示,列坐标的范围是从1到M,而行坐标的范围则是从1到N(1<M,N<=250)。坐标原点位于矩阵的左上角。像素点的颜色由大写字母指定。
下面描述了图形编辑器可以接收的命令内容:
I M N |
表示产生一个新的MxN大小的图像,并且图像中所有像素点的初始颜色都为白色(0)。 |
C |
表示通过把所有像素点设置为白色的方法来清除表格。且矩阵的大小保持不变。 |
L X Y C |
表示把坐标为(X,Y)的像素点的颜色涂成颜色(C)。 |
V X Y1 Y2 C |
表示画一条颜色为(C)的垂直线段,线段的列坐标为X,行坐标在Y1到Y2之间,并且包括Y1和Y2两点。 |
H X1 X2 Y C |
表示画一条颜色为(C)的水平线段,线段的行坐标为Y,列坐标在X1到X2之间,并且包括X1和X2两点。 |
K X1 Y1 X2 Y2 C |
表示画一个填充颜色为(C)的矩形,坐标(X1,Y1)和(X2,Y2)表示矩形相对的两个角。 |
F X Y C |
表示用颜色(C)填充区域R。区域R的定义如下:像素点(X,Y)属于区域R。和像素点(X,Y)颜色一样,并且与区域R内的任何像素点共享一个公共边的其他任何像素点也都属于区域R。 |
S Name |
表示用MSDOS 8.3的格式写文件名,并且文件名后边跟着当前图像的内容。 |
X |
表示终止此次对话操作。 |
输出
在执行每一个S NAME命令时,打印出用NAME(不超过70个字符)命名的文件名(占一行),以及当前图像的内容。图像的每一行用每个像素点的颜色内容来表示。参见输出样例。
输出要忽略掉不用上述字母(即I、C、L、V、H、K、F、S和X)定义的任何命令行,并且继续执行下面的命令。遇到其他错误情况时,程序的运行将无法预测。
来源
http://acm.uva.es/p/v102/10267.html
测试输入
期待的输出
时间限制
内存限制
额外进程
测试用例 1
以文本方式显示
- I56↵
- L23A↵
- Sone.bmp↵
- G23J↵
- F33J↵
- V234W↵
- H342Z↵
- Stwo.bmp↵
- X↵
|
以文本方式显示
- one.bmp↵
- 00000↵
- 00000↵
- 0A000↵
- 00000↵
- 00000↵
- 00000↵
- two.bmp↵
- JJJJJ↵
- JJZZJ↵
- JWJJJ↵
- JWJJJ↵
- JJJJJ↵
- JJJJJ↵
|
1秒
|
1024KB
|
0
|
测试用例 2
以文本方式显示
- I119↵
- F11`↵
- H1111O↵
- H1119O↵
- V128O↵
- V1128O↵
- L43O↵
- L34O↵
- L83O↵
- L94O↵
- K3699O↵
- H487`↵
- H488`↵
- SJIONG.BMP↵
- X↵
|
以文本方式显示
- JIONG.BMP↵
- OOOOOOOOOOO↵
- O`````````O↵
- O``O```O``O↵
- O`O`````O`O↵
- O`````````O↵
- O`OOOOOOO`O↵
- O`O`````O`O↵
- O`O`````O`O↵
- OOOOOOOOOOO↵
|
1秒
|
1024KB
|
0
|
这个题目比较直接,唯一的难点在于F操作:表示用颜色(C)填充区域R,可以用DFS实现,通过递归,因为是字符操作,不是特别复杂,不会操作内存限制!还可以采用BFS,这要借助队列,可以定义一个N
* N行 2 列的一个二维数组,这样实现起来比较复杂,但是节省了时间和空间,我采用的是递归的DFS实现,见代码:
分享到:
相关推荐
ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛
ACM ACM ACM ACM ACM讲义.ppt
lame是公认的转换Mp3的目前最好的工具, 这个版本又是3.92版, 这个文件又是最难找的acm版,win7直接识别的
ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板AACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM ...
ACM PRO ACM PROACM PRO ACM PROACM PRO ACM PRO
acm模板acm模板acm模板acm模板acm模板acm模板acm模板acm模板
包含近几年多道ACM面试题目,希望有所帮助
acm经典题库acm经典题库acm经典题库
包含acm.jar 和acm的源码。图形化界面
ACM地址 ACM地址 ACM地址 ACM地址 ACM地址
ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码
ACM练习建议 ACM练习建议 ACM练习建议
ACM大数模版ACM大数模版ACM大数模版ACM大数模版ACM大数模版ACM大数模版ACM大数模版ACM大数模版
acm课件1acm课件1acm课件1acm课件1acm课件1acm课件1acm课件1acm课件1acm课件1
杭电ACM分类杭电ACM分类杭电ACM分类杭电ACM分类
ACM培训资料 ACM培训资料 ACM培训资料 ACM培训资料
上海交大ACM模板 考研复试机试参考资料
北大ACM分类,北大ACM分类 北大ACM分类
ACM考试题 ACM程序设计