借小丑牌结算时一张张牌亮起来:结果里每组测试点一个方块,从左往右依次亮, 对的绿、错的红并写组号,不到 1 秒亮完,提示和按钮亮完才出来,全对时亮完再放烟花。 大字和「通过几个」判完马上就有;只播刚交的那条,刷新、看旧提交、系统减少动画都直接全亮。 提交详情多给每组对没对(只有对错,不带数据),比赛照旧不给。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1a173f75d7
commit
36b3cd6b21
8 files changed
+375
-144
No files matched your search
@@ -372,8 +372,12 @@ function caseSummary(submission: typeof schema.submission.$inferSelect) {
|
||||
if (submission.contestId !== null || submission.language === "SQL") return null
|
||||
const data = asRecord(submission.info).data
|
||||
if (!Array.isArray(data) || data.length === 0) return null
|
||||
const passed = data.filter((item) => asRecord(item).result === JudgeStatus.ACCEPTED).length
|
||||
return { passed, total: data.length }
|
||||
// 判题时已经按组号排过(judge/run.ts),这里再排一次:老数据不一定是排好的
|
||||
const results = data
|
||||
.map((item) => asRecord(item))
|
||||
.sort((a, b) => Number(a.test_case) - Number(b.test_case))
|
||||
.map((item) => item.result === JudgeStatus.ACCEPTED)
|
||||
return { passed: results.filter(Boolean).length, total: results.length, results }
|
||||
}
|
||||
|
||||
/** 列表行的 caseSummary:SQL 里数好的两个数,为 null 的情形和详情一致(SQL 题、没有逐点结果) */
|
||||
|
||||
Reference in new issue
Block a user