錯誤

 

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 : 超出比賽時間,這個信息只有在比賽的時候纔會出現。

文章轉自:http://www.cnblogs.com/ACShiryu/ 

wa,又wa,一直wa。到底是什麼導致了wa。
總結的5種常見錯誤(菜鳥的常見錯誤- -)
1.題意理解錯誤。(常見錯誤)
2.數組開小。(無向邊,字符串等)
3.遺漏初始化。(數組初始化,變量初始化)
4.輸出輸出格式錯誤。(遺漏某些特殊的輸出情況,或大小寫等輸出數據錯誤)有時處理字符串時,輸入可能多空格,多回車,也會出錯。
5.特殊判斷。(就是tric點啦)
也有變量名重複,還有各種sb錯誤。
轉自:https://blog.csdn.net/softshell/article/details/15975391 

我自己總結一波,一般題目看錯了,看錯了:

首先是題意不是很清楚,再是少用了條件。再是沒考慮邊界。針對性。

還有就是一些不小心寫錯的東西。大概看一下應該可以檢查出來。

接下來就是有些函數之類的原形不知道,導致答案誤差,主要是底層細節不是很瞭解。

重要的是多做題,就不會很難找錯了。

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章