偶然发现的一个东西。。。
我用了一个快读,因为输入的是正整数嘛,我就看第一个判断符号的循环没用了,就删了:
long long read(){
long long x=0;
char ch=getchar();
while(ch>='0' && ch<='9'){
x=x*10+ch-'0';
ch=getchar();
}
return x;
}
结果就WA了。
然后我把符号加上了:
long long read(){
long long x=0,f=1;
char ch=getchar();
while(ch<'0' || ch>'9'){
if(ch=='-') f=-1;
ch=getchar_unlocked();
}
while(ch>='0' && ch<='9'){
x=x*10+ch-'0';
ch=getchar();
}
return x*f;
}
就AC了。
不是正整数吗?为什么还要弄那个循环啊?