競プロ用出入力メモ

参考

kyoupro_on_cpp.md · GitHub

c++ - Significance of ios_base::sync_with_stdio(false); cin.tie(NULL); - Stack Overflow

C++ の iostream フォーマット指定早見表

iostream

#include <iomanip>
#include <iostream>
#include <string>
using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int N;
    cin >> N;
    cout << N << "\n";

    double x;
    cin >> x;
    cout << fixed << setprecision(10) << x << "\n";

    string s;
    cin >> s;
    cout << s << endl;
}
  • 遅いが、出入力の行数が少ない場合には十分
  • 型を自動判別してくれるため楽
  • 小数点以下の桁数を指定する場合、iomanipをincludeしてfixed << setprecision()
  • 速度を気にする場合
    • endlではなく改行文字\nの方が速い
    • mainはじめの二行を追加すると高速化できる場合がある
      • sync_with_stdio(false)を使用した場合stdioを使用してはいけない
      • cin.tie(0)はcinとcoutの連携を切ってしまい、出力が出る前に次の入力が行われる危険がある。競プロの形式では問題ないはず