[精讚] [會員登入]
5519

【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

你可能感興趣的文章

【!@#$%^&*()_+ language】!@#$%^&*()_+ 程式語言介紹 一款看起來像是在鬧的程式語言

【C++】class練習 — 檢測該字串是否為迴圈 第一次的C++結構式寫法,雖然以後應該會見怪不怪,但畢竟是第一次所以還是想保存下來

【PaperMC】從 Waterfall 切換至 Velocity waterfall 已經停止支援,最後停留在支援 Minecraft 1.21.6,之後的 Minecraft 版本便不再支援

【MEGAcmd】[Linux] 如何解決Unable to connect to service: error=2 用了好久的軟體突然停止一切的運作了。

【MySQL】每個類別中取前三高 一個由多層次所組成的SELECT述句

【C++】使用SFML創建新視窗和新增圖標(ICON)並隱藏DOS 筆記,怕自己以後忘記怎麼創建並開啓一個新視窗

隨機好文

高捷少女:布拉格體驗㊤ 「可……可以去歐洲玩?而且還有人出錢?太棒囉!」婕兒忍不住歡呼起來,把扳手拋呀拋的,旁邊的客人紛紛轉過來看。「好了啦!」耐耐忍不住害羞起來,輕輕敲了一下婕兒的頭

高捷少女:地下城的探險少女④ 耐耐突然抖了一下。「妳們聽到了嗎?」她說。「聽到什麼?」婕兒問。「那個腳步聲啊!」耐耐嚥了一下喉嚨,覺得有些害怕。「有一陣腳步聲經過,很小聲,但我還是聽到了。』「妳聽錯了吧……等等!」婕兒使終維持著將

高捷少女:美麗島的守護者② 這是在亦晨離開前的下午拍的,當時亦晨在美麗島跟小穹艾米等人在美麗島散步,為離開前補充一些回憶,這時剛好經過的小雅被艾米抓過來,做為同樣是高捷新人的她倆一同拍了一張紀念照。說起來她跟亦晨並不太熟,不過也

【歌評】蓮台野夜行 - 少女秘封倶楽部 少女秘封俱樂部 我們的主角終於出場啦!這首歌一反蓮台野夜行的固有風格,總是華麗的開始又華麗的結束!

【歌評】蓮台野夜行 -月之妖鳥、化貓之幻 月の妖鳥、化猫の幻 這是一個很好的問題,現實與幻覺的界線從來沒有如此的模糊,沒有一條明確的界線將其畫開