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

CodeChef TLG题解法2样例正确但提交失败,遗漏哪些测试用例?

Code 2逻辑缺陷分析

Code 2的核心错误是违背了题目要求的「累计得分计算领先值」规则,错误使用单轮得分差代替多轮累计得分差。

具体问题拆解

题目规则明确要求:每轮结束后,先累加两名选手从第一轮到当前轮的所有得分,再基于累计总得分计算当前领先者和领先分值。但Code 2的逻辑是仅比较当前轮两名选手的单轮得分,直接将单轮得分差作为该轮的领先值,完全不符合规则要求。

遗漏的测试用例场景

只要存在「单轮得分差大,但累计得分差小」的情况,Code 2就会输出错误结果,典型测试用例如下:

输入:

2
10 5
3 10

正确输出:1 5
Code 2输出:2 7

上述用例的正确计算逻辑:

  • 第一轮结束累计得分:选手1得10,选手2得5,领先者1,领先分值5
  • 第二轮结束累计得分:选手1得13,选手2得15,领先者2,领先分值2
  • 全局最大领先为选手1的5分,最终输出1 5

而Code 2的错误计算逻辑:

  • 第一轮单轮得分10>5,记录领先者1,领先值5
  • 第二轮单轮得分3<10,记录领先者2,领先值7
  • 取单轮最大差得到错误结果2 7

样例输入刚好巧合满足「第一轮的单轮得分差等于累计得分差,且是全局最大值」,所以Code 2跑样例能得到正确结果,但遇到其他常规场景就会出错。

内容的提问来源于stack exchange,提问作者user16871229

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:15:05