Z. 凌晨串口密报

    传统题 1000ms 256MiB

凌晨串口密报

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

凌晨三点,石宇浩学长的串口突然开始发送“密报”。每条密报的格式应为 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。

ASC2026考核C语言训练题

未参加
状态
已结束
规则
ACM/ICPC
题目
40
开始于
2026-9-20 20:00
结束于
2026-9-30 20:00
持续时间
240 小时
主持人
参赛人数
263