看似大佬70的提交并没有用快读,推荐用`scanf`和`printf`再试试
by B_1168 @ 2020-05-16 02:23:59
@[xixi_bang](/user/322896) 您的快读确实有问题。
```cpp
inline int read(){
register int a=0,f=1;register char c;
while((c=getchar())<'0')if(c=='-')f=-1;;
while(c>='0')a=a*10+(c^48),c=getchar();
return a*f;
}
```
拿这个快读可以满分
by pocafup @ 2020-05-16 02:38:25
@[xixi_bang](/user/322896) 您不能自己测试一下快读吗?
```cpp
x=(x>>3)+(x>>1)+c-'0';
```
这一行明显有问题,应该是左移`<<`,如果写快读的时候不确定的话就不要写了,直接写`x*10`不也行吗?
by Diamiko @ 2020-05-16 06:16:05
@[xixi_bang](/user/322896) 我通常这么写
```cpp
inline int read()
{
char c;int res(0),flag(1);
for(;!isdigit(c);c=getchar())if(c=='-')flag=-1;
for(;isdigit(c);c=getchar())res=(res<<1)+(res<<3)+(c^48);
return res*flag;
}
```
by Diamiko @ 2020-05-16 06:19:15
事实上,
```cpp
x=(x>>3)+(x>>1)+c-'0';
```
会比
```cpp
x=x*10+c-'0';
```
更慢一点。
by Aw顿顿 @ 2020-05-16 08:11:01
@[B_1168](/user/62562) 我发现快读有问题,就没用了hhhh蟹蟹~
by xixi_bang @ 2020-05-16 09:16:14
@[xixi_bang](/user/322896) 推荐输出要么也写一个快输,要么用`printf()`,进一步压缩用时qwq
by B_1168 @ 2020-05-16 10:42:00
@[B_1168](/user/62562) 快输是什么啊,我没有查到诶qaq
by xixi_bang @ 2020-05-16 10:54:17
@[xixi_bang](/user/322896)
```cpp
void write(int a){
if(a>=10)write(a/10);
putchar(a%10+'0');
}
```
类似这个东西
~~因为涉及递归,复杂度不做保证~~
by B_1168 @ 2020-05-16 11:00:18
@[B_1168](/user/62562) 哦哦好滴!蟹蟹!
by xixi_bang @ 2020-05-16 13:01:17