读入再优化

前面我们谈论了读入优化的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!

 

posted @ 2015-06-10 21:07  TonyFang  阅读(653)  评论(2编辑  收藏  举报