看板 C_and_CPP 關於我們 聯絡資訊
稍微測試了一下 我用的測試檔為 99999 99999 * 2^22行 共53MB 我寫了一個用scanf讀取的版本 大致上是這樣 cin.clear(); freopen("in.txt","rt",stdin); int a; float b; while( scanf(" %d %f",&a,&b) == 2 ) { func(a,b); } 執行時間為8.75s (改用double並無顯著差異) 再來是兩個int cin.clear(); freopen("in.txt","rt",stdin); int a,b; while( scanf(" %d %d",&a,&b) == 2 ) { func(a,b); } 執行時間為4.5s (在這邊用cin的話執行時間會是19s) 沒有特別需求的話用scanf就可以大大的加速了 printf也是 然後這是一個比較麻煩的版本..時間是1.5s 毫無反應就只是getchar 不過程式寫的很醜就是了 http://codepad.org/C84Vx3Nj -- 學程式學了一年多能看的好像只剩讀檔.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.240.38.38