深耕专业教研,探索前沿技术
信息技术来源:浙江省新阵地教育联盟2026届第二次联考技术试题卷

第 9 题

答案与解析

本题解析

参考答案

B

程序分析

res, i, t = "", 0, 1
s=input()
while i < len(s) and t >= 0:
    ch = s[i]
    if ch == '@':
        t -= 1
    elif ch == '$':
        t += 1
    else:
        res += ch
    i += 1

循环从下标0开始,每轮处理一个字符:遇到@使t减1,遇到$使t加1,其余字符追加到res。因此,res收集已处理部分中除@、$以外的字符,t等于1加上已处理的$个数再减去@个数。
每轮开始前检查i是否越界、t是否非负。t=0时仍可进入循环;某轮使t变为负数后,该轮仍会执行i加1,到下一次判断循环条件时才停止。

将输入按影响t的符号分段,处理过程如下:

本段处理的字符 处理后i 处理后t 处理后res
a@ 2 0 a
b$ 4 1 ab
c@ 6 0 abc
d@ 8 -1 abcd

处理第三个@后,t=-1,下一轮条件不成立,末尾的e不再处理,res为abcd。