1. 程式人生 > >【OI】對拍

【OI】對拍

cpp win () std highlight 輸出 dev 通過 time

對拍的方法是先用生成器生成幾組隨機數據,然後用暴力算法和當前算法對比結果來確保正確性。

數據生成器:

引入cstdlib與ctime兩個庫,然後通過srand初始化隨機數:

srand(time(0) + clock());

然後,用rand()獲得隨機數。  

為了確保隨機性,這裏對得到的隨機數進行了處理。

int randint()
{
	return (rand() << 13) ^ rand();
}  

為了在 1~i 的範圍內生成隨機數,使用 randint() % i + 1 。

對拍:

使用這個函數:system() 可以執行windows控制臺的一些命令。

為了讓程序產生結果,我們需要重定向。

system("mkr > dev.in");

這行代碼代表著 將mkr.exe的輸出重定向到dev.in這個文件。

system("baoli < dev.in > dev.ans");

這行代碼代表著讓baoli.exe從dev.in讀取數據,結果輸出到dev.ans

用此方法來確保你的算法的正確性。  

  

【OI】對拍