2010-02-04 58 views
1
#include<iostream> 

using namespace std; 

int main() 
{ 
    int hash, opp, i, j, c = 0; 

    //cout<<"enter hasmat army number and opponent number\n"; 
    while(cin>>hash>>opp) 
    { 
     cout<<opp-hash<<endl; 
    } 
} 

此問題的時間限制:3.000秒 如何驗證和測試此條件?C++運行時錯誤?如何解決這個問題並檢查?

我在網上提交這個給計算機,我怎麼知道運行時錯誤?我應該計算運行時間和內存嗎?

解釋我如何檢查運行時和內存在Linux中的C + +,我使用的是GCC版本4.4.1(Ubuntu 4.4.1-4ubuntu9)。

time ./myprogram 

這將打印多少「真」(人)時拍攝的,又有多少:

+0

這是更具體或您正在提交代碼的比賽。檢查在特定比賽中哪些情況被視爲「運行時錯誤」。 – 2010-02-04 13:17:13

+0

請註明:是否說運行時錯誤(您的程序崩潰)還是超過了時間限制? E.g SPOJ會給你這種反饋。如果它是一個運行時錯誤,您需要確保您的程序不包含錯誤/未定義的行爲,您已經理解了問題描述,並且您的代碼也可以處理不太明顯的角落案例。如果超過時間限制,您可能需要考慮您是否正在使用具有足夠複雜性的算法(而不是以不理想的方式進行操作)。 – visitor 2010-02-04 14:15:04

+0

我看到你正在使用I/O,並從標準輸入。輸入來自哪裏? – 2010-02-15 17:41:22

回答

1

一旦你編譯你的程序,通過使用UNIX程序time運行它檢查其運行時間CPU(主動處理)時間。

如果你想檢查你的程序使用了多少內存,在調試器中運行它,並在你想檢查內存使用情況的地方設置一個斷點,或者在代碼中放一長長的sleep()並在沒有調試器的情況下運行它。然後,您可以使用諸如pstop之類的工具來查看您的程序正在使用多少內存(虛擬,駐留等)。