提交时间:2026-03-06 15:21:10
运行 ID: 85163
def check_brackets(s): """ 检查字符串中括号的匹配情况 :param s: 输入字符串 :return: 原字符串和标记字符串 """ n = len(s) mark = [' '] * n # 初始化标记数组 stack = [] # 用栈存储左括号的位置 # 遍历字符串 for i in range(n): if s[i] == '(': stack.append(i) # 将左括号位置入栈 elif s[i] == ')': if stack: stack.pop() # 匹配成功,弹出栈顶左括号 else: mark[i] = '?' # 无匹配左括号的右括号标记为'?' # 处理未匹配的左括号 while stack: pos = stack.pop() mark[pos] = '$' # 未匹配左括号标记为'$' return ''.join(mark) def main(): """ 主函数:处理多行输入并输出结果 """ import sys # 读取所有输入行 lines = [] try: for line in sys.stdin: line = line.rstrip('\n') # 去除换行符 if line: # 忽略空行 lines.append(line) except EOFError: pass # 处理每一行输入 for s in lines: print(s) # 输出原字符串 mark_line = check_brackets(s) print(mark_line) # 输出标记行 if __name__ == "__main__": main()