12.10 讓 cin、cout 變快

有些題目輸入輸出量很大——10^5、10^6 行起跳。這時常有人發現:演算法明明沒問題,卻 TLE 了,兇手是輸入輸出本身太慢。本節就是解藥,也是開場高手程式碼最後兩行謎底。

兩行開場白

ios::sync_with_stdio(false);
cin.tie(nullptr);

各自在做什麼,一句白話講完:

  • ios::sync_with_stdio(false);——斷開與 C 輸入輸出的同步。19.2 說過,cin/cout 預設隨時跟 scanf/printf 對帳,確保混用時順序正確;這個對帳每筆輸入輸出都要做,很花時間。一句話關掉它,cin/cout 就能用自己的快取全速前進。

登入後即可閱讀完整內容

語法書免費開放給所有 AACPOJ 帳號,註冊只要一分鐘。