本文主要講述常用的2種讀入優化方法。
輸出優化很少使用,在此簡單提一下:也就是把輸出的東西先放進字串,再一次性puts\printf出去。提公升不大,不常用。
首先當然需要先知道,scanf/printf比cin/cout快不少。
讀入優化:
getchar
使用getchar乙個乙個讀入字元,轉化成數字。比scanf快一些。
inline int read()
while(ch<'0'||ch>'9');
do while(ch>='0'&&ch<='9');
return f*x;
}
2.fread (非常快!)
fread將stdin裡的內容讀到字串裡,然後利用指標處理。
首先定義指標和讀入的陣列:
#define maxb 10000000
//定義讀入最長的長度
char buf[maxb],*cp=buf;
接下來是讀入:
fread(buf,1,maxb,stdin);//函式具體引數含義請善用搜尋引擎
最後是從中處理出資料(現在這個函式是為了處理int整型而設計)
inline int read()
while(*cp>='0'&&*cp<='9')
return f*x;
}
讀入輸出優化
1 void read int x 表示引用,也就是說x是乙個實參,在函式中改變了x的值就意味著在外面x的值也會被改變212 while s 0 s 9 是字元 一旦不是字元就意味著輸入結束了 1317 x f 改變正負 18 1 void print int x 這裡不用實參28 if x 9 只...
讀入優化 輸出優化
注意了注意了注意了,重要的事情說3遍,這個東西是騙分神器,騙分神器,騙分神器!眾所周知 scanf比cin快得多,printf比cout快得多,如果你不知道就 就現在知道了 那有沒有更快的呢?當然。請看 好吧,這就是讀入優化的效果,在資料很恐怖的情況下能比scanf多過1 5個點 比如說這種 都說了...
讀入優化和輸出優化
前兩天做牛客的題 才知道有這麼個玩意。果然還是太菜 大佬們打比賽是去切題 我是去認識新名詞。題目也很直白 說了 讀入檔案較大,請使用讀入優化,本機除錯時請使用檔案輸入輸出而且題目 也給出了優化寫法 可以直接用 非常良心 inline int read while c 0 c 9 x x 10 c 0...