You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ACM Q272:TeX Quotes题目代码求助,本地测试正确但OJ判错

ACM Q272: TeX Quotes 问题排查

正在解决ACM的Q272:TeX Quotes题目,本地测试代码运行正确,但在线评测系统(OJ)一直返回错误答案,以下是我的Python代码:

while True:
    try:
        strings = input()
        string=[]
        t=-1
        for a in strings:
            string.append(a)
        for abcd in string:
            if abcd == '''"''':
                t=t+1
                if t%2==0:
                    string[string.index(abcd)] = '``'
                else:
                    string[string.index(abcd)] = """''"""
        output=''.join(string)
        print(output)
    except EOFError:
        break

代码存在的问题:

  1. 匹配目标错误:代码中判断字符是否为"(HTML实体),但OJ的输入是原始的双引号",导致替换逻辑根本无法触发。
  2. 索引处理错误:string.index(abcd)只会返回第一个匹配双引号的位置,当一行中有多个双引号时,后续的双引号会错误地修改第一个位置的字符,而非当前遍历到的位置。
  3. 右引号赋值混乱:代码中右引号的赋值写法存在语法问题,正确的TeX右引号应为''(两个单引号),无需复杂转义。

修正后的代码:

while True:
    try:
        line = input()
        result = []
        use_left_quote = True  # 标记当前需要替换为左引号还是右引号
        for char in line:
            if char == '"':
                result.append('``' if use_left_quote else "''")
                use_left_quote = not use_left_quote
            else:
                result.append(char)
        print(''.join(result))
    except EOFError:
        break

内容的提问来源于stack exchange,提问作者曾子桓

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 15:05:20