18.7 對拍:全自動找出錯的測資(延伸知識)
手造測資靠清單,清單靠靈感——但總有靈感耗盡、測資造了十組還是抓不到錯的時候。這時就出動本單元的高潮:對拍(也叫 stress testing)。想法簡單得漂亮:既然不知道哪組測資會錯,那就讓電腦亂數生測資,一秒鐘測幾百組,直到撞出一組錯的為止。
對拍需要三個程式互相配合(加上你的解共四支):
- 暴力解
brute:用最直白、最不會出錯的寫法把題目再解一次。它可以慢——反正測資很小;唯一的要求是你有十足把握它是對的。 - 測資產生器
gen:亂數生出一組小測資。 - 對拍主程式
duipai:無限循環「產測資 → 兩個解各自跑 → 比對輸出」,發現不一致就停下來,把肇事測資留給你。