Waiting:你的程序剛剛提交,正在等待OJ評測你的程序。
Compiling:OJ正在編譯你的程序。
Accepted:OK!你的程序是正確的 ^_^。
Wrong Answer:你的程序運行的結果和正確結果不同。狀態頁面CASE那一覽顯示的是你的程序在第幾個樣例上出錯的。
Time Limit Exceeded:你的程序運行時間太長了,超過了對應題目的時間限制。
Memory Limit Exceeded:你的程序運行所用的內存太多了,超過了對應題目的限制。
Output Limit Exceeded:你的程序輸出了太多的內容了,超過了OJ的限制,輕檢查你的程序中是否有可能存在無限循環輸出。
Floating Point Error:Divide by 0,除0錯誤。
Segmentation Fault:有2中情況可能導致次錯誤:
buffer overflow -- 緩沖區溢出,也就是你訪問 了非法內存,比如你神情了一個大小為2的數組a,卻訪問了a[10000],或者在C/C++中訪問了空指針等等。
stack overflow -- 堆棧溢出,有可能你在c/c++程序的函數中神情了過大的空間,或者遞歸層次太多,導致堆棧溢出了,輕記住堆棧的大小為8192KB.
Runtime Error:你的程序在運行的時候出錯了,異常終止了,導致這種狀態的情況有肯多,一般都是一些非法操作,比如文件操作,Java中的網絡操作等等。 Java中Runtime Error的更詳細的敘述見下。另外C/C++中越界訪問函數中定義的數組也會導致Runtime Error。
Restricted Function:你的程序調用了不該調用的函數,比如fork(),execv(),socket等等危險的函數,清牢記一點:在你的程序中只作與解決問題有關的事情,盡情其他的操作都會被OJ攔截下來。
Compilation Error:編譯錯誤,如果你的程序在本機能夠正常編譯,請在下面的編譯出錯怎么辦查看更詳細的解決辦法。
Presentation Error:你的程序運行的結果是正確的,但是格式和正確結果有點不一樣。比如中間多了回車或者空格,請仔細檢查程序的輸出部分,離AC就差一點點啦!
Presentation Error的一般原因?
PE就是沒通過。 沒通過就沒成績。 PE和wa, lte一樣。?
一般原因:?
1.格式問題要注意 每行最后要有回車,並且行末不能有多余的空格。?
格式錯誤,請仔細檢查case末的空行、case間的空行、每一行后的空格,等這些地方,看與題目描述是否一致。?
2.答案正確,但格式不對。 ?
可能是多輸出了space/tab/return?
有人也說只有三種情況:?
1空行問題?
2大小寫問題?
3空格問題?
所以又pe說明你沒有根本錯誤,就是一些細節有錯誤。
下面是常見的OJ評判結果以及它們表示的意思:
Queuing : 提交太多了,OJ無法在第一時間給所有提交以評判結果,后面提交的程序將暫時處於排隊狀態等待OJ的評判。不過這個過程一般不會很長。
Compiling : 您提交的代碼正在被編譯。
Running : 您的程序正在OJ上運行。
Judging : OJ正在檢查您程序的輸出是否正確。
Accepted (AC) : 您的程序是正確的,恭喜!
Presentation Error (PE) : 雖然您的程序貌似輸出了正確的結果,但是這個結果的格式有點問題。請檢查程序的輸出是否多了或者少了空格(' ')、制表符('\t')或者換行符('\n')。
Wrong Answer (WA) : 輸出結果錯,這個一般認為是算法有問題。
Runtime Error (RE) : 運行時錯誤,這個一般是程序在運行期間執行了非法的操作造成的。以下列出常見的錯誤類型:
ACCESS_VIOLATION 您的程序想從一些非法的地址空間讀取或向其中寫入內容。一般例如指針、數組下標越界都會造成這個錯誤的。
ARRAY_BOUNDS_EXCEEDED 您的程序試圖訪問一個超出硬件支持范圍的數組單元。
FLOAT_DENORMAL_OPERAND 進行了一個非正常的浮點操作。一般是由於一個非正常的浮點數參與了浮點操作所引起的,比如這個數的浮點格式不正確。
FLOAT_DIVIDE_BY_ZERO 浮點數除法出現除數為零的異常。
FLOAT_OVERFLOW 浮點溢出。要表示的數太大,超出了浮點數的表示范圍。
FLOAT_UNDERFLOW 浮點下溢。要表示的數太小,超出了浮點數的表示范圍。
INTEGER_DIVIDE_BY_ZERO 在進行整數除法的時候出現了除數為零的異常。
INTEGER_OVERFLOW 整數溢出。要表示的數值太大,超出了整數變量的范圍。
STACK_OVERFLOW 棧溢出。一般是由於無限遞歸或者在函數里使用了太大的數組變量的原因。顧名思義,stack overflow 就是是棧溢出了。在進行數值運算時,我們常常要和運算結果的溢出打交道。數值運算結果可能上溢(overflow),也可能是下溢 (underflow)。不過棧的溢出顯然只可能是上溢,即棧空間被用完了。
要正確處理棧溢出采用以下辦法:
(1)修正我們的程序,不要造成無窮遞歸或太深的遞歸。我們可以把某些遞歸代碼非遞歸化,例如那個經典的 qsort ,最好就用非遞歸的算法來實現,就比較皮實一點。
(2)修正我們的程序,不要定義過大的局部變量,特別是在定義大結構、大數組時要格外小心。有時我們可能會用 _alloca() 這樣的特殊函數直接在棧上分配空間,更要多加注意。可以定義成static
(3)利用編譯器的特性,將進程允許的棧大小設置得大一些。例如可以采用 MSC 中的 /STACK 參數開關。
(4) 對於那些還可能導致棧溢出的代碼,采用 Microsoft 的結構化異常處理或標准的 C++ 異常處理機制,結合 _resetstkoflw() 進行處理。當然了,要是不嫌麻煩,我們也可以自己探測所用棧的大小,動態地檢測是否可能導致棧溢出,以避免可能的異常。
...... 其他錯誤,包括C++標准庫/STL運行時庫錯誤等,這里不再舉例。
Time Limit Exceeded (TLE) : 您的程序運行的時間已經超出了這個題目的時間限制。
Memory Limit Exceeded (MLE) : 您的程序運行的內存已經超出了這個題目的內存限制。
Output Limit Exceeded (OLE) : 您的程序輸出內容太多,超過了這個題目的輸出限制。
Compilation Error (CE) : 您的程序語法有問題,編譯器無法編譯。具體的出錯信息可以點擊鏈接察看。
System Error (SE) : OJ內部出現錯誤。由於我們的OJ可能存在一些小問題,所以出現這個信息請原諒,同時請及時與管理員聯系。
Out Of Contest Time : 超出比賽時間,這個信息只有在比賽的時候才會出現