比賽時以
比賽時以
當 Kattis judge 了你的 submission 之後,你會收到 submission 的 judge 結果。 以下是所有可能的 judge 結果。
有時候,從 judge 結果獲得額外的資訊能讓你更好去找到 bug。 這些資訊可以分別從 submission 各自的頁面看到 (可以從 submission 清單中點擊該 submission 的ID連過去)。 .
Accepted 是指 Kattis 對你的程式感到滿意,你正確地解開了這題,恭喜你!
Accepted 不會產生罰時。
Compile Error 是指 Kattis 無法編譯你的程式, 為了幫助你找到問題,你會看到編譯器輸出的額外訊息。 比賽環境的編譯器與參數設定可以在 technical info 頁面找到.
Compile Error 不會產生罰時。
Run Time Error 是指你的程式在執行過程中,因為我們的測試資料而造成非預期的結束。 更精確地說程式結束時的回傳值非零 (non-zero exit),或是有 exception 發生。
注意因為使用程式結束的回傳值 (exit code) 來決定你的程式是不是正常的結束,所以請確定你的 main 函式不要回傳非零的值。
Run Time Error 會產生罰時。
Time Limit Exceeded 是指你的程式執行的時間過長,最後超過執行時間限制時被終止。 請注意,所有輸出的結果在程式正確結束之前都不會被檢查,所以拿到 Time Limit Exceeded 不代表你的程式目前產生的結果是正確的。
Time Limit Exceeded 會產生罰時。
Wrong Answer 是指你的程式在規定的時間內結束,但是你的答案不正確。 因為沒有更多的資訊, 所以這通常是個最令人沮喪的結果。 有時候唯一的方法就是自己生些測試資料來嘗試找到 bug。
Wrong Answer 會產生罰時。
Output Limit Exceeded 意思是你的程式產生過多的輸出,以致你的程式被強迫終止,以確保輸出不會佔滿我們的硬碟。 請確定你沒有困在無窮迴圈內並且一直輸出東西,或是有正確地處理輸入。
Output Limit Exceeded 會產生罰時。
Memory Limit Exceeded 是指你的程式嘗試使用了超過題目規定的記憶體上限。 注意使用超過的記憶體有時候會造成 MLE 之外的其他的錯誤。 一個例子是,當你嘗試在 C 中使用 malloc , 但是記憶體不足時,會回傳 null pointer,如果你沒有檢查而直接使用該變數,可能會造成 Run Time Error。 同樣如果你在 C++ 裡面使用 new 去配置過多的記憶體,會造成 SIFABRT(6) signal 並讓你獲得 Run Time Error。
Memory Limit Exceeded 會產生罰時。
Judge Error 是指你找到了 Kattis 的 bug (或錯誤的設定),不好意思QAQ! 請直接聯絡我們.
Judge Error 不會產生罰時。