C 輸入輸出的優化

2021-10-08 10:19:20 字數 472 閱讀 1232

cin和cout是很方便的輸入輸出方式,比起scanf和printf,cin cout完全不需要關心變數的型別問題,反之對於string的讀入,如果使用scanf還需要先規定好這個string的大小。

但在某些特定情況下,如題目的資料量比較大,而演算法的複雜度沒辦法進行更好的優化的時候,就只能把目光轉向輸入輸出了。

在帶來方便的同時,cin和cout的耗時是很顯然比scanf和printf要高的。

在優化的時候我們有幾種選擇:

關閉同步/解除繫結

ios::sync_with_stdio(false);

使用scanf和printf

使用getchar()

int read() 

while (isdigit(ch))

return x * w; // 別忘了正負號

}

C 輸入輸出優化

一般來說,在c 中,cin和cout比scanf和printf慢,scanf和printf比getchar gets 和putchar puts慢 當輸入 輸出範圍超過10 6個整數時,我們就需要手寫讀入 輸出優化 inline int read while c 0 c 9 return x f i...

輸入輸出優化

最近遇到乙個題,照我的思路差100ms才能過,於是想盡一切辦法做微小優化試圖卡過去,最後雖然過去了,但要是會優化輸入就更好了,於是學習一下這個模板備用 以下模板,具體講解參考參考文章 include include void read int x 普通版 s getchar while s 0 s ...

輸入輸出優化

code1inline int read code2inline int read code1 include using namespace std void write int x if x 9 write x 10 putchar x 10 0 code2inline void write i...