[問題] ACM 101 - Runtime Error (已解決)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dev-C++
問題(Question):
自己測output沒有問題,不曉得為什麼一直出現Runtime Error...
餵入的資料(Input):
10
move 9 onto 1
move 8 over 1
move 7 over 1
move 6 over 1
pile 8 over 6
pile 8 over 5
move 2 over 1
move 4 over 9
quit
預期的正確結果(Expected Output):
0: 0
1: 1 9 2 4
2:
3: 3
4:
5: 5 8 7 6
6:
7:
8:
9:
程式碼(Code):(請善用置底文網頁, 記得排版)
http://codepad.org/YeGwKn8o (已加註解)
補充說明(Supplement):
問題:http://uva.onlinejudge.org/external/1/101.html
41~46行:應該會在這裡讀到quit出去迴圈
如果下一個是EOF
31行:while (scanf("%d",&block) != -1)
在這行應該就會結束程式了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.64.4
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1414262872.A.994.html
→
, , 1F
你是說blocka == blockb嗎? 我有爬過文知道a跟b在同一個block 不用動作 (89行)
推
10/26 23:44, , 2F
10/26 23:44, 2F
→
10/26 23:46, , 3F
10/26 23:46, 3F
→
10/26 23:46, , 4F
10/26 23:46, 4F
欸? 我居然沒發現這個問題@@ 感謝大大!!
目前已改成:
Node *clear,*tmp;
for(i=0;i<block;i++)
{
clear = top[i];
while(clear != NULL)
{
tmp = clear;
free(clear);
clear = tmp->next;
}
}
但Uva還是Runtime Error 囧rz 好像還有其他問題....我再檢查看看指標跟陣列
→
10/27 05:57, , 5F
10/27 05:57, 5F
→
10/27 05:57, , 6F
10/27 05:57, 6F
→
10/27 05:58, , 7F
10/27 05:58, 7F
呃 不好意思 我居然犯了兩次一樣的錯= =
Node *clear,*tmp;
for(i=0;i<block;i++)
{
clear = top[i];
while(clear != NULL)
{
tmp = clear->next;
free(clear);
clear = tmp;
}
}
但RE的問題還是沒解決...
→
10/27 09:27, , 8F
10/27 09:27, 8F
→
10/27 09:27, , 9F
10/27 09:27, 9F
→
10/27 09:32, , 10F
10/27 09:32, 10F
推
10/27 12:34, , 11F
10/27 12:34, 11F
感謝回文的各位 我把程式重新修過了(連結已更新)
目前我用cmd: block < input.txt > output.txt 測試兩輪的數據沒有問題
但RE的問題還是在 快崩潰了= =
→
10/27 22:03, , 12F
10/27 22:03, 12F
我也測到了! 但我在98行加了
97 blocka = search(a,top,block);
98 printf("%d\n",blocka);
居然就過了@@ 這....這什麼巫術~~
我多加了判斷a b的illegal command(63~69行)
目前已經解決RE了!!! 進展到Wrong Answer 謝謝大家的幫忙 應該就快成功了!!
→
10/28 07:03, , 13F
10/28 07:03, 13F
耶~總算AC啦!! 果然是aelin大大講的我的陣列在[--i]的時候忘了判斷 (i!=0)
存取到arr[-1]導致RE
也感謝scwg大大 我的確弄錯指令的意思了orz 謝謝你們!!!
貢獻一下AC code:http://codepad.org/SfbHbRJF
※ 編輯: jammy50605 (140.113.64.4), 10/31/2014 01:59:53
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章