更快的快速读入

板子

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:加了一个更快的板子

posted @ 2020-12-26 17:37  Suzt_ilymtics  阅读(128)  评论(1编辑  收藏  举报