更快的快速读入
板子
Fir 快读
int read(){
int s = 0, f = 0;
char ch = getchar();
while(!isdigit(ch)) f |= (ch == '-'), ch = getchar();
while(isdigit(ch)) s = (s << 1) + (s << 3) + (ch ^ 48) , ch = getchar();
return f ? -s : s;
}
Sec 快读
在一次公开赛中遇到的更快的快读,(被卡了无数次才过/kk)
#define getchar()(p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
char buf[1<<21],*p1=buf,*p2=buf;
template <typename T>
inline void read(T& r) {
r=0;bool w=0; char ch=getchar();
while(ch<'0'||ch>'9') w=ch=='-'?1:0,ch=getchar();
while(ch>='0'&&ch<='9') r=r*10+(ch^48), ch=getchar();
r=w?-r:r;
}
手写输出
void print(int x) {
if(x > 9) print(x / 10);
putchar(x % 10 + '0');
}
没错,只有一两个板子
速度对比:
Fir:
Sec:
更新日志
Update 20210102:板子写错了
Updata 20210221:加了一个更快的板子