
原本想解更多題、再寫一輪比較完整的統整, 但是 token 已經用完了. 這篇先是現階段的 snapshot, 不是最終版.
Day 21 用 3 題證明 "AI 有判准就能自判". 但 3 題太少, 可能是運氣. 這篇擴到 82 題 (實際答 78 題 + 跳過 4 題), 想一次回答三件事:
規則很簡單: 登入是人做的, 其他全部 AI. Claude 讀題網頁、寫 cpp、本機 g++ 編 (-std=c++17) 跑樣例自測, 過了用 Playwright MCP 自動送到 ZeroJudge, 讀回判題結果 (AC/WA/CE/TLE). 不過的話自己讀訊息改, 再送.
題號清單 (prompt 給 AI 題目編號)
↓
AI 讀題網頁 → 寫 .cpp → g++ 本機測樣例
↓ (本機樣例不過: 自己改, 回上一步)
↓ (本機樣例過了)
Playwright MCP 自動送 → 讀 AC/WA/CE/TLE → 記錄結果
↓
下一題 (不論判題結果, 不重試)
重點: 這是一次性 loop, 不是「不過就再改再送」的多輪 loop. 本機樣例可以反覆改到過, 但一旦送到 ZeroJudge 判題, 不論回什麼 (AC/WA/NA/CE), 記錄下來就下一題. 下面的 pass rate 都是單次送出的結果, 如果開放重試這個數字會更高.
這條迴圈的三個關鍵:
這輪沒逐題打 token 計數, 只能給量級; 下一輪會補精準 per-題 metering.
| 題庫 | 答題 | AC | 待修 | 跳過 | 題目感 |
|---|---|---|---|---|---|
| 基礎 | 42 | 40 | 2 | 0 | 哈囉、閏年、羅馬數字、GCD、迴文、二進位、排序、小字串處理 |
| 競賽 | 16 | 15 | 1 | 4 | 博弈 DP、剝殼最大子集、凸包頂點、Move-to-Front、Jump Game |
| UVa | 20 | 20 | 0 | 0 | 3n+1、Blocks、Skyline、Trees on the level、Accordian Patience、Krypton Factor |
| 合計 | 78 | 75 | 3 | 4 | — |
這個數字比我預期 (抓 60-70% AC) 高很多.
兩件事看起來都是「沒 AC」, 性質完全不同.
共通點: AI 本機樣例全綠, 以為自己對了. 但 ZeroJudge 有出題者寫的隱藏測資, 抓到 AI 沒想到的 edge case. 這正是 Day 21 「綠燈不等於對」的具體顯現 — 本機樣例過 ≠ 判題全過. 判准越強, 這類失敗越能被精準捕捉.
這 3 題之所以停在失敗, 是因為這次是單次送出的 loop: 判題一回 WA/NA 就記錄下來, 不給 AI 看判題訊息再改一輪. 如果開一個「WA 回去讀訊息、改、再送」的二輪 loop, 這 3 題有機會被救回來.
m930 正方型池塘水深 — 題意不明, 樣例對不上b579 恢復分數 — 整數線性系統, 難b590 單位分數分解 — 樣例對不上, 解題模型未定i236 邊緣人 (NPSC2020) — 除數分塊數論, 難共通點: AI 讀題後自己判斷「做不出來」或「題意不明」, 主動停下不送. 這是意外的好: 不會硬塞一個隨便的答案送上去. 一個「自認解不出而不交」比一個「自信交錯」乾淨多了.
這條線其實跟 Day 13 講的「願意說不知道」同根: AI 願不願意說「我不知道」, 比它說「我覺得這樣」還重要.