最近遇到乙個題,照我的思路差100ms才能過,於是想盡一切辦法做微小優化試圖卡過去,最後雖然過去了,但要是會優化輸入就更好了,於是學習一下這個模板備用
以下模板,具體講解參考參考文章
#include #include void read(int& x)//普通版
s = getchar();
}while(s>='0'&&s<='9')
x = x*f;
}void read_1(int& x)//簡潔版
while(s>='0'||s<='9')
x*=f;
}void read_2(int& x)//緊湊版
inline int read_3()//整數輸入模板
while(isdigit(ch)) x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
return w?-x:x;
}inline double dbread()//實數輸入模板
while(isdigit(ch)) x=x*10+(ch^48),ch=getchar();
ch=getchar();//¶áèëð¡êýµã
while(isdigit(ch)) x+=(y/=10)*(ch^48),ch=getchar();
return w?-x:x;
}void print(int x)//輸出優化
if(x>9)
putchar(x%10+'0');
}int main()
輸入輸出優化
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...
常用技巧 輸入輸出優化 輸入輸出外掛程式
我們知道cin cout是比較慢的,不過它們可以加速。在 中加入這兩句即可 std ios sync with stdio false std cin.tie 0 加速過後cin的速度與scanf的速度近似 當然,加速過後就不要混用print和cout,scanf和cin了。因為不同步,後果會很嚴重...
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...