[精讚] [會員登入]
5680

【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

你可能感興趣的文章

【JDA/discord bot】取得頻道第一筆或最新(最後一筆)的歷史訊息 在不處理訊息的先後順序下取得相關的歷史訊息

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

【Wickct】(縮短網址) 如何將網頁掛載到特定路徑下 Wildfly的預設網址又臭又長又不好記,而且會被看到後端的目錄路徑安排,當然能藏就盡量藏起來啦

【Maven】如何創建一個簡單可部屬的WAR檔 滿重要的一個大功能,在使用JAVA網頁伺服器的時候一定會需要這個WAR檔來進行部屬

【Maven】[Wicket](Java) 如何部署Wicket到Wildfly內 Wicket 是一個 Java 下的套件,換言之,我們的網頁伺服器後端是由 Java 來撰寫的

【Discord bot】[botton]按鈕的使用、響應和關閉 Discord的botton通常都要和View配合使用。

隨機好文

[活動] 2017年4/1雲空幻想愚人節活動彩蛋&攻略 (紀念性質) 雲空幻想2017年的愚人節活動介紹同時也是本小編的第一篇網路文章(*^ω^)♪

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

高捷少女:小穹與果仁巧克力㊥ 艾咪臉上泛起笑容說:「妳知道嗎?就跟花語一樣,每一種巧克力也都有各自的涵義:薄荷巧克力代表初戀;卡通巧克力代表天真爛漫;而果仁巧克力代表的是窩心,還有想陪伴對方的心情,這在德國是女生之間在慶生時會彼此

高捷少女:美麗島的守護者(終) 「我是她的師娘,妳一定就是艾米莉亞吧?小雅昨晚有跟我說到您。」「師娘?」艾米疑惑不解。

【數學】徐氏數學簡明講義(三) 第二章 直線與園 P2.1-17 Q34 34.設P(x , y)為座標平面上一點,   且滿足,則P點的位置可能在哪裡?   (1)第一象限(2)第二象限(3)