[精讚] [會員登入]
5538

【C++】如何解決TLE,換句話說便是加速cin, cout的執行速度

[ZERO JUDGE](UVa) a159: 11743 - Credit Check 題目練習和副程式練習

分享此文連結 //n.sfs.tw/14833

分享連結 【C++】如何解決TLE,換句話說便是加速cin, cout的執行速度@小編過路君子
(文章歡迎轉載,務必尊重版權註明連結來源)
2020-12-04 04:34:41 最後編修
2020-11-27 08:55:45 By 過路君子
 

哈囉大家好,這裡是快被自己給掐死的小編過路君子

因為一個邏輯錯誤,害小編自己找了快兩個小時的Bug,為啥在紙上跟打程式碼時的想法會有出入啊?

 

這一題是真的有夠狠(相關題目往這裡走),程式本身不難,難就是難在如何解決TLE(執行超時)的問題,根據小編去翻找他人的解題報告,發現疑似資測超過50000筆......

看最快所需跑完的秒數,最快最快的人也花了0.3秒才執行完,但不知道是不是用#include<iostream>,說不定還是使用#include<cstdio>。

 

通常這題會寫不過都幾乎不是因為程式寫錯,用cin和cout則會因為一些機制大幅度拖慢了執行的速度而造成TLE(執行超時),最簡單的解決方式就是在int main()的開頭加上以下兩行程式碼:

std::ios_base::sync_with_stdio(false);
std::cin.tie(0);

至於為什麼則可以參考這篇文章,此篇文章的作者除了有詳細的講解還有實際測試給各位看,寫得已經非常的好了,絕對不是小編懶得在這裡寫一長串解釋出來。

那就不再廢話了,下面就直接丟出完整程式碼給各位參考一下上方那兩行實際在寫入的時候寫在那裡會比較好,話說題目給的第一個數字小編完全沒有用到啊!小編將他存入變數v裡面之後就沒有再管他了。

 

完整程式碼(解答):

 

實際執行畫面:

(點擊每張圖片皆可放大檢視)

test.txt內容:

6
5181 2710 9900 0012
5181 2710 9900 0017
5181 2710 9900 0111
1010 1000 1001 0100
0000 0000 0000 0000
4900 3985 6038 3078

 

解題過程:

 

 

 

後記:

最近跟別人聊天聊到撰寫文章的時候,小編表示好懶,能不能貼一堆程式碼來充字數讓文章看起來好像很厲害?於是乎,就開始在精讚上面發水文章了,小編就爛!

雖說是水文章,但也找Bug找了很久...看上面的解題過程就知道了......

END

你可能感興趣的文章

【Raspberry Pi/樹梅派】(gcc 10) 如何安裝 gcc & g++ 需要的時間非常久,不愧是gcc的編譯

【教程】[HTML](進階版)如何在手機上編輯電子書(epub)預覽介面 可能會有人認為電子書(epub)只能用電腦來開啟、編輯,其實不是的,手機也可以編輯喔!

【Java】[debug]多維泛型的大坑 incompatible types error

【CoreProtect】自行升級至 Minecraft 1.21.x、1.22.x 或更高版本 不知道為什麼,官方竟然無預警停止更新,我們只好自行救濟

【C】(%c, %d)解決讀取字元時的緩衝區殘留 不解決就會莫名其妙地冒出一些莫名其妙的東西

【NodeMCU / ESP8266】[Arduino]測量溫溼度並上傳至ThinkSpeak 使用簡單的溫度計來測量溫濕度並上傳至第三方網站,這樣他人只要有瀏覽器就能看到我們的數據了

隨機好文

希萌創意預計在今年7月繼東津萌米之後再次推出新遊戲--食用性少女! 今天來介紹希萌創意的心企劃案,來讓大家知道這個消息!讓大家的錢包君一起來減肥吧!Ψ(☆w☆)

高捷少女:地下城的探險少女② 「等我一下喔,我好像有帶去漬的清潔噴霧。」婕兒翻翻飛揚,拿出噴霧劑給小穹,小穹趕緊對著汙漬噴了噴,紅茶漬果然乾淨了許多。「婕兒,謝謝妳。來,還妳。」小穹感謝地把噴霧還給她,卻發現婕兒盯著打開的飛揚,一

高捷少女:地下城的探險少女③ 過了十分鐘後,前方的天花板滴下一滴水珠,發出「噠」一聲響亮地落在石地上,讓大家嚇一跳。     「什麼嘛,只是水珠而已。」艾米撫著胸口噓了一聲。     忽然間,耐耐的臉色發白起來。「各位,你們看

高捷少女:耐耐的新年驚喜② 「各位,我跟爸媽聊完了……」耐耐走進客廳,看到大家在看自己的相簿,臉蛋立刻紅了。「哇啊啊,不要看那個!」她三步併作兩步地走向少女們,將相簿拿走。「為什麼啊?小時候的耐耐很可愛啊。」婕兒不解地說。

婕兒──她的青春① 「各位乘客,本列車即將抵達拉里奧哈自治區,並在此地停留三天兩夜,後天的中午十二點將搭乘班機返回臺灣,感謝各位乘客對本次旅程的配合。」火車上的廣播器朗誦道。「時間過得真快呢,這次的歐洲之旅就這樣結束了,