看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) 執行時發生錯誤 (SIGABRT)(6)!! 系統呼叫 abort 函式!! 可能的原因為取用了超過string長度的位置、指標錯誤或 overflow。terminate called after throwing an instance of 'std::bad_alloc' what(): St9bad_alloc sh: line 1: 1347 已經終止 希望得到的正確結果: http://zerojudge.tw/ShowProblem?problemid=b024 這是原題 程式跑出來的錯誤結果: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) dev c++ 有問題的code: (請善用置底文標色功能) #include<iostream> #define m 10001 #define n 20001 using namespace std; int main() { int *ans = new int[m*n]; for(int i = 1; i < m; i++) { *(ans + n*i ) = 1; } for(int i=1;i<m;i++) for(int j=1;j<=2*i;j++) { *(ans + n*i + j) += ( *(ans + n*(i-1) + j) + *(ans + n*i + j-1) ); if(*(ans + n*i + j)>10000) *(ans + n*i + j)%=10000; } int c; while(cin>>c) { if(!c) break; cout<<*(ans+ c*n + c*2)<<endl; } delete [] ans; return 0; } 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.105.23
ledia:計算一下你的記憶體用量~ 12/03 01:17
akasan:網頁上寫 時間限制 :10s | 記憶體限制 : 64MBytes 12/03 01:17
tw00088437:可是記憶體過大不是會給MLE嘛@@" 12/03 01:25
tw00088437:噢 好像爆了十幾倍...那可以給點題示怎麼減少嗎 > <" 12/03 01:27