[精讚] [會員登入]
5383

【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

你可能感興趣的文章

【Wicket】[URI]使用Java取得目前網址 這是個還滿常用的功能,可惜 Wicket 沒有內建函式可以快速取得我們要的部分,只能依靠我們自己後期的字串剖析

【Wicket】[CSP] Content-Security-Policy & Content-Security-Policy-Report-Only Wicket 預設開啟的,所以如果要加載外部資源甚至是同源資源都會被擋下。

【ESXI & Oepnwrt】基本錯誤處理 Oepnwrt 為一個自由度超高的軟體,很多事情都能請其幫忙完成,但也因此很複雜,這邊簡單的介紹幾個錯誤的處理方式

【C】〔無條件捨去〕如何忽略float數據 直接儲存成int型態(數據100%不失真) a148: You Cannot Pass?! 解題時所意外研究出來的神奇寫法,懂了原理之後要自行改寫成四捨五入或無條件進位應該就簡單了吧!

【JAVA】[java.lang.Class]如何不透過new來實體化class 在某些極端狀態下,我們沒有辦法直接將實體化後的 Object 傳入函數內,只能採用傳入 Class 在實體化成物件這種極端的方式來進行

【Wicket】[Cookie]如何讀取和設定客戶端的Cookie 對於某些參數需要給予使用者,我們可以使用 Cookie 來讓客戶端記著,之後再跟伺服器裡的比對來達到驗證的目的

隨機好文

【開箱】高捷少女collection總集篇1 由希萌創意寄來的大包裹!裡面究竟有什麼呢?小編就帶大家來看看!

高捷少女:布拉格體驗㊦ 「各位想到盧卡站的乘客,請到我們左手邊排隊!」婕兒大聲地喊道。     「這孩子怎麼穿著地鐵站制服?童工嗎?」一位大嬸歪頭問道。

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

高捷少女:美麗島的守護者③ 小雅閉上眼睛,思索在高捷發生的點點滴滴。她心意已決,在高捷的日子的確也有快樂的部分,不過她相信換個方向是更好的決定。有關高捷的所有美好回憶,小雅決定保留在心裡就好,繼續在高捷工作只會讓自己更痛苦而已,

高捷少女:耐耐的新年驚喜③ 即使如此,夫人仍然每年都會問老爺是否能空出一週時間,但總是被回絕,除了前年以外。老爺答應夫人一定會排出空檔,他們在去年的二十三日前往澳洲。」耐耐嘆了口氣。「那一天的晚上,我打電話給媽媽時,她很高興地告