我跟有病一样,想到了这个东西:
inline ll read(){
register ll x=0;register bool f=0;register char ch=getchar();
while(!isdigit(ch)){if(ch=='-')f=1;ch=getchar();}
while(isdigit(ch)){x=x*10+ch-'0';ch=getchar();}
return x*(f?-1:1);
}
虽然节省不了,但我觉得用 register
的变量能省就省吧。。。
然后我又思考,三目运算符 ? :
会不会影响 read
的速度,然后起不到快读的作用了。。。
上面那个和这个比哪个快?
inline ll read(){
register ll x=0;register short f=1;register char ch=getchar();
while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}
while(isdigit(ch)){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
问题总结:
用了三目运算符那个会影响快读速度吗?
第二个和第一个哪个快?
Ball