#ASC202619. 凌晨串口密报
凌晨串口密报
题目描述
凌晨三点,石宇浩学长的串口突然开始发送“密报”。每条密报的格式应为 DATA*HH:
DATA是由大写字母和数字组成的非空正文;HH是两位大写十六进制数;- 校验值等于正文中所有字符 ASCII 值之和对 256 取模的结果。
“对 256 取模”就是用总和除以 256,并取余数,结果一定在 0 到 255 之间。例如,300 % 256 = 44。
最后把这个余数写成两位大写十六进制数。十六进制使用 0-9 和 A-F 表示数值 0 到 15;不足两位时在前面补 0。例如,十进制的 44 写成十六进制是 2C,十进制的 5 写成 05。
请判断每条密报是否合法。合法时输出正文,否则输出错误标记。
输入格式
第一行输入一个整数 t。
接下来 t 行,每行输入一个不含空格的字符串。
输出格式
对于每条密报:
- 若格式和校验值均正确,输出
OK DATA; - 否则输出
ERROR。
样例
4
ABC*C6
A1*72
HELLO*74
BAD*00
OK ABC
OK A1
OK HELLO
ERROR
数据范围与限制
1 <= t <= 100000;- 单条字符串长度不超过 1000;
- 所有字符串总长度不超过
10^6; - 时间限制:1 秒;
- 空间限制:64 MiB。
相关
在下列比赛中: