Skip to content

快速输入输出

对于输入数据量大,时间要求比较紧的问题,有时需要通过优化数据输入的处理,来提高速度。 第一步是将cin >> ..改成scanf(),因为后者比前者要快不少。如果这时速度仍然不够,可以使用getchar()手工处理,如下:

inline int read()
{
    int s=0;char c=getchar();
    while(!isdigit(c))  c=getchar();
    while(isdigit(c))  {
        s=(s<<3)+(s<<1)+(c-'0');
        c=getchar();
    }
    return s;
}

当然,这个稍作修改,也可以输入long long或者double类型的数据。