[問題] 嘗試用new作二維陣列結果上傳RE

看板C_and_CPP (C/C++)作者 (喵貓 loves fish)時間16年前 (2009/12/03 01:07), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) 執行時發生錯誤 (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

12/03 01:17, , 1F
計算一下你的記憶體用量~
12/03 01:17, 1F

12/03 01:17, , 2F
網頁上寫 時間限制 :10s | 記憶體限制 : 64MBytes
12/03 01:17, 2F

12/03 01:25, , 3F
可是記憶體過大不是會給MLE嘛@@"
12/03 01:25, 3F

12/03 01:27, , 4F
噢 好像爆了十幾倍...那可以給點題示怎麼減少嗎 > <"
12/03 01:27, 4F
文章代碼(AID): #1B5fwztv (C_and_CPP)
文章代碼(AID): #1B5fwztv (C_and_CPP)