fix(题目统计): 「答案错误几乎都卡在第 1 个测试点」几乎每道题都弹,说了等于没说——答案错误最多时不再给提示
Deploy / deploy (push) Canceled after 0s

七成多的题错得最多的都是答案错误(快照 349 / 484),卡在第 1 个测试点过六成的也有 185 / 320 道,
两句提示对哪道题都一样。具体错在哪,每次提交的结果里已经有「题目里的例子 N 就错了」和三栏对照。
运行时错误、编译失败排第一时的提示保留。后端那条扫 info JSONB 数第 1 个点的查询一起删掉。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xuyueandClaude Opus 5.5 committed 2026-09-30 12:21:00 +08:00
1 parent c22521fb61
commit a8918b41b1
3 files changed
+12 -25

No files matched your search

@@ -103,16 +103,17 @@ const failedTotal = computed(() =>
)
const topFailures = computed(() => (stats.value?.failures ?? []).slice(0, 3))
/** 错得最多的那一种,给一句该怎么办。都指向「运行例子」:提交前自己就能看出来 */
/**
* 错得最多的那一种,给一句该怎么办。都指向「运行例子」:提交前自己就能看出来。
*
* **答案错误最多时不给**:七成多的题错得最多的都是答案错误(快照 349 / 484),「卡在第 1 个
* 测试点」也是常态(320 道里 185 道过 60%),这句话几乎每道题都一样,等于没说(用户说的)。
* 具体错在哪,每次提交的结果里有「题目里的例子 N 就错了」和三栏对照。
* 运行时错误、编译失败排第一的题少,出现了才说明这题有特点
*/
const tip = computed(() => {
const s = stats.value
const top = s?.failures[0]
if (!s || !top) return ""
if (top.result === -1) {
return s.wrongAnswerFirstCase >= top.count * 0.6
? "答案错误几乎都卡在第 1 个测试点:多半是例子都没对上。先点「运行例子」,把你的输出和例子一行一行对一对。"
: "答案错误最多:输出和标准答案对不上。留意空格、换行和标点,交之前先点「运行例子」对一对。"
}
const top = stats.value?.failures[0]
if (!top) return ""
if (top.result === 4) {
return "运行时错误最多:程序跑到一半出错了。交之前先点「运行例子」,看看有没有红色的报错。"
}