#ZS4T1. 冬日画板(paintboard)
冬日画板(paintboard)
题目描述
莆二OJ的冬日画板活动正在如火如荼的进行中,关于冬日画板的底层原理,我们简化模型如下。
用户在进行 (绘画) 操作的时候,会向服务器 API 发送 POST 请求。
POST 请求中会包括用户的 cookie 和选择绘画的横纵坐标和颜色 ( cookie 是服务器 以及每个用户的唯一标识,是一个长度为 的字符串)。
如果 cookie 在数据库中无法找到,或者 POST 请求中的所绘画的横纵坐标错误,均会返回 Error
。
如果信息正确,服务器则会返回 Paint Successfully
,并在服务器数据库中存储用户绘画的信息(在同一个像素点上新的颜色会覆盖旧的颜色)。
为降低难度,所绘画的横纵坐标错误的情况仅考虑所绘画的点是否在画板以内。
用户在进行 (查询画板) 操作时候,若 cookie 错误,则返回 Error
。
若 cookie 正确,服务器会返回画板上面所有像素点的信息 (初始状态的画板都是白色,即为 )。
现在请根据上述信息,请你来写出服务器的后端来响应用户的请求。
:鉴权(authentication)是指验证用户是否拥有访问系统的权利。传统的鉴权是通过密码来验证的。这种方式的前提是,每个获得密码的用户都已经被授权。在建立用户时,就为此用户分配一个密码,用户的密码可以由管理员指定,也可以由用户自行申请。
输入格式
从文件 paintboard.in 中读入数据。
第 行给出画板的 , 轴的最大长度 ,以及用户的 数量 与用户的请求数 。
接下来 行给出数据库中的每个用户的 。
接下来 行给出用户的 请求。
操作其格式为: 、、、 、。
操作其格式为: 、。
输出格式
输出到文件 paintboard.out 中。
输出服务器的响应。
测试样例
4 4 2 6
2f4sung48c56aspn
5e5s2s5a72s4a5gg
board 2f4sung48888aspn
board 5e5s2s5a72s4a5gg
paint 5e5s2s5a72s4a5gg 1 1 2
board 2f4sung48c56aspn
paint 5e5s2s5a7888a5gg 1 1 2
paint 2f4sung48c56aspn 5 5 2
Error
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Paint Successfully
2 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Error
Error
样例 1 解释
第一个操作中 在数据库中不存在,故输出 。
第二个操作中 正确,返回画板信息 (初始状态的画板都是白色,即为 )。
第三个操作中 与 绘画的横纵坐标与颜色 正确,返回 。
第四个操作中 正确,返回画板信息。
第五个操作中 在数据库中不存在,故输出 。
第六个操作中 所绘画的点超出画板范围,故输出 。
数据规模与约定
- 对于 的数据保证: , , , 。
相关
在下列比赛中: