快读快输

OI 赛制数据一般都很大,有时候光是输入输出就占了大半时间

  • 读入数据少时用cin cout 更(写代码的速度)快
  • 读入输出多时用scanf printf 会更快

1 .快读快输模板(不过这玩意更快)

//快读:
inline void read(int &x){ 
    x = 0; int f = 1; char ch = getchar(); 
    while(ch < '0' || ch > '9'){ if(ch == '-') f = -1; ch = getchar(); }
    while(ch >= '0' && ch <= '9') x = (x << 1) + (x << 3) + (ch ^ 48), ch = getchar(); 
    x = x * f;
}
//快输:
inline void write(int n){
    if(n<0){putchar('-');n=-n;} 
    if(n>9)write(n/10);
    putchar(char(n%10+'0'));
}

//用法:
read(n);
write(n);

//来句废话:
ios::sync_with_stdio(false);
//取消scanf 和 cin 同步,可加速cin cout速度 但是不能再用scnaf printf

当然,快读也有不适用的时候,例如读入中包含大量无用空格

posted @ 2021-02-02 15:38  Carrot_Rui  阅读(286)  评论(0)    收藏  举报