作者Natsutaka (夏宇)
看板b98902HW
標題[計程] TestGirl第7題
時間Sun Oct 11 18:32:31 2009
2007 Hw 3-1 ( score: 6 )
題目如下:
http://ppt.cc/ehEQ
我的code如下:
http://ppt.cc/UxYO
上傳後顯示:
第 6 次試驗:你的程式當掉了!>"< 原因:使用到不該用的記憶體
沒有通過試驗。:(
所以只得5分
怎麼看都覺得程式沒有問題
到底問題在哪裡呢?
--
另外
因為我是外系跑來修的
班上沒有認識半個人
所以在計程的學習路上
覺得有點孤獨
所以想問看看:
有沒有人有興趣一起消TestGirl的題目呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.217.60
1F:推 anfranion:這樣子的存法一定會超過的噢~ 因為測資筆數可以很多 10/11 19:29
2F:→ anfranion:改成以組為單位試試吧:) 10/11 19:30
3F:→ Natsutaka:不了解 "以組為單位" 的意思 10/11 20:00
4F:→ Natsutaka:啊 我想我大概了解了 10/11 20:33
5F:推 sa072686:也就是說,每一組測資是獨立的,所以你沒有必要保留 10/11 20:33
6F:→ Natsutaka:我再試試看 有問題再上來問喔 10/11 20:33
7F:→ sa072686:在第n組時並不會用到第n-1組或更之前的資料 10/11 20:33
8F:推 cwahbong:樓上強者出現!! 10/11 20:33
9F:推 sa072686:樓上強者出現!! 10/11 20:38
10F:推 cwahbong:樓上超強者出現!! 10/11 20:40
我原本的寫法是:
先收集每一組測資
再一次把所有測資的change[i]算出來
這樣會用掉大量memory
我已經改寫成:
每收集一組測資 就把它的change[i]算出並且存起來
新的code如下:
http://ppt.cc/n,cw
可是上傳以後還是錯了 這次訊息是:
第 6 次試驗:你的程式當掉了!>"< 原因:執行時間或記憶體用量超過限制
沒有通過試驗。:(
一樣5分
※ 編輯: Natsutaka 來自: 140.112.217.60 (10/11 21:10)
11F:推 anfranion:change那邊還可以更好噢 再想想吧!! 10/11 21:29
12F:→ Natsutaka:我在想這次應該是執行時間的問題,不可能是memory的問題 10/11 21:49
13F:→ Natsutaka:因為這次我使用的memory不到8KB 10/11 21:50
14F:→ Natsutaka:再請教樓上上上 是哪方面的更好呢? 10/11 22:55
15F:推 robertabcd:不一定要最後才輸出 10/11 23:30
我已將程式改寫成:
每收集一組測資 就把它的change(這次沒有[i]了)算出並且立即輸出
新的code如下:
http://ppt.cc/YgCV
訊息仍舊:
第 6 次試驗:你的程式當掉了!>"< 原因:執行時間或記憶體用量超過限制
沒有通過試驗。:(
一樣5分
※ 編輯: Natsutaka 來自: 140.112.217.60 (10/12 00:41)
16F:→ zenixls2:想想看有沒有做哪些無謂的比較 10/12 02:00
17F:→ zenixls2:這題要用某種sort才不會TLE... 10/12 02:02
18F:→ Natsutaka:所以是不是不能用bubble sort呢? 10/12 22:37
成功 這次6分
使用 bubble sort 是可以的
不過我去維基百科查了一下 bubble sort
發現了我的code的瑕疵
我原本的寫法是:
不論 seq[] 是不是已經 completely sorted
都一律 repeat N+1 次
這次我加上一個變數 sorted
sorted = 0 代表還沒做完
sorted = 1 代表 seq[] 已經 completed sorted, 要立即中止迴圈
這樣可以減少計算量 也就是執行時間
新的code如下 分享給大家 感謝大家辛勞:
http://ppt.cc/3AkX
※ 編輯: Natsutaka 來自: 140.112.217.60 (10/12 23:00)
※ 編輯: Natsutaka 來自: 140.112.217.60 (10/12 23:04)
19F:→ Natsutaka:好有成就感 呼~~ 10/12 23:13