1 条题解

  • 0
    @ 2026-11-2 11:01:19

    加法输入检查

    算法思路

    用整行读取保留所有空格,寻找第一个半角空格并分割。对每个字段依次检查:非空、全部由数字组成、数值在 [1,1000][1,1000] 内。数字累积时,一旦超过 10001000 即可返回不合法,避免超长输入造成溢出。最后按合法性分别输出数值或问号。

    正确性证明

    第一个空格的位置唯一,因此分割与定义一致,后续空格都留在第二字段。逐字符检查排除所有非数字字段。对全数字字段,按十进制累积得到其数值;若中途超过 10001000,继续追加数字只会保持超过上限,提前拒绝正确。累积完成后再检查是否至少为 11,故合法性判定充要。输出按两个判定的四种组合处理,恰好符合题意。输出数值自然去除了前导零。

    复杂度分析

    设输入行长为 LL,时间复杂度为 O(L)O(L),存储输入及字段所需空间为 O(L)O(L)。

    • 1

    信息

    ID
    728
    时间
    1000ms
    内存
    256MiB
    题目 Rating
    1400
    标签
    递交数
    164
    已通过
    26
    上传者