之所以有快读,是因为getchar()比scanf快了大概4倍听别人说的,不知道准不准确哈。。 但是又由于getchar又只能一个一个字符的读入,所以自己要写个函数,才有了这个称呼。
inline int read()
{
char c = getchar();int x = 0,s = 1;
while(c < '0' || c > '9') {if(c == '-') s = -1;c = getchar();}//是符号
while(c >= '0' && c <= '9') {x = x*10 + c -'0';c = getchar();}//是数字
return x*s;
}
这里的inline是内联函数,可以加快这个函数的调用。
这个快读是指整形的快读(字符串和小数的不适应)。
如果要写成小数的快读和字符串的快读,也是同理,但是一般做题遇不到了。
如果输入的数很大,可以把他改成long long类型
cin比scanf的读入还要慢,加上加速器也还是要慢一点。
std::ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);//加速器