铁拳最近在做一个视觉火灾识别系统,在进行训练前,铁拳得对图像进行预处理。然而铁拳最近学数学不开心,这种事情就只能扔给你们来做了啦。输入一个 $n\times n$ 的灰度图。对该图做以下几种操作:
getH
: 对给定区域的每个点的灰度值 $x$,求 $H$,并用 $H$ 替代。$H = (x^2+233)\%1773$。若该点已求过 $H$ 值,则不做处理。normalize
:对给定区域的每个点进行判断,如果求过 $H$ 值,$H$ 值不为零就取为 $1$,否则取 $0$。若没有取过 $H$ 值,就不做处理。display
:以 #
+$6$位$16$进制大写(没有加号,如 #123ABC
)输出给定区域的当前状态(即输出现在该区域每个点对应的 $H$ 或 $x$ 值,两个数之间有两个空格,允许行末空格)。多组数据,第一行一个数 $T(1<T\leq 1000)$,表示数据组数。
对于每组输入第一行输入$n,m$,$n$ 为图的大小,$m$ 为操作的个数,$n \in [1,100],m \in [0,100] $。
接下来 $n$ 行,每行 $n$ 个空格分隔的整数,表示 $n\times n$ 的灰度图。(灰度值的范围为 $[0,256]$)。
在接下来 $m$ 行代表 $m$ 组操作。输入操作的名称(一个字符串,含义见题目描述),接着四个整数 $x_1, y_1, x_2, y_2$ 为给定区域的对角线两点。
保证所有的输入合法。
在所有操作结束后以 $4$ 位十进制(不足四位前补 $0$)输出最后整幅图的状态。(即输出现在整幅每个点对应的 $H$ 或 $x$ 值,两个数之间有两个空格,允许行末空格,输出格式见样例)。
1
4 5
234 97 23 247
187 198 242 256
98 66 96 90
13 43 88 54
display 1 1 4 4
getH 2 2 4 4
normalize 3 3 4 4
getH 1 1 3 3
normalize 2 2 3 3
#0000EA #000061 #000017 #0000F7
#0000BB #0000C6 #0000F2 #000100
#000062 #000042 #000060 #00005A
#00000D #00002B #000058 #000036
0026 0777 0762 0247
1515 0001 0001 0168
0972 0001 0001 0001
0013 0309 0001 0001