前面我们谈论了读入优化的1.0版本,也就是getchar()读入。
我们发现,getchar()读入已经很快了,但还是会超时,怎么办?
那就再优化!getchar()还是不够快!
一中的神牛们提供了很简单的代码
char B[1<<15],*S=B,*T=B; char getchar2() { return S==T&&(T=(S=B)+fread(B,1,1<<15,stdin),S==T)?0:*S++; }
就是这个代码,看起来好高大上。
实测速度:FZYZOJ 1320: 普通读入:0.114s,读入优化读入:0.09s,读入优化+读入优化2.0:0.075s,成功上升至本题rank1!