創作內容

1 GP

online judge一個找測資的方式

作者:娜娜奇魔戒精│2015-09-19 02:24:39│巴幣:2│人氣:1413
很多時候在用線上解題,常會有那種,給的預設測資明明就過了,debug了很久也找不到那底哪裡有錯的情況。

當然現在google幾乎都能找到別人的code,但是直接抄的話一點意義也沒有,就算是參考,學習的效率也會大打折扣的。

這裡提供一個可以拿到大量測資比對的方法。

很多online judge的測資都很有規律性,例如直接1到1000000,或是丟幾個left,right指令等,這種時候我們可以利用網路上的正確解答去拿到幾乎所有的測試資料。

例如測資為輸入a, b,0< a,b <1000000。
以下為ruby解
File.open('test_data.txt', 'w') do |file|
  (1...1000000).each do |i|
    file.write("#{i} #{i}\n")
  end
end

然後 ./online_code < test_data.txt > answer.txt
將輸入資料打進google找到的正確程式 然後將解答輸出至answer.txt中

一樣對自己的程式做一次
./your_code < test_data.txt > result.txt

然後
diff answer.txt result.txt

很容易就能找到自己錯誤的部分啦
算是一個不錯的找bug方式啦

以上為類unix環境的寫法
windows的話基本上也是換個語法就行了吧
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=2965436
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 1 篇留言

薯條控
有用過轉向到擋案裡 還蠻實用的
diff這指令到是第一次抗到
之前都一個一個慢慢找..

09-19 14:28

娜娜奇魔戒精
對R
ㄅ然每次都測的好煩
重複的事情還是交給電腦好惹09-19 14:37
我要留言提醒:您尚未登入,請先登入再留言

1喜歡★willyc20 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:HackNTU 2015... 後一篇:Codeforces R...

追蹤私訊切換新版閱覽

作品資料夾

Lobster0627全體巴友
大家可以多多來我的YT頻道看看哦(*´∀`)~♥https://www.youtube.com/@lobstersandwich看更多我要大聲說昨天18:36


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】