把你的**read()**发出来看看?
by d3NtMDAw @ 2018-06-24 08:47:47
@[PBCWZCC](/space/show?uid=28004) 这么说吧,cin可以用这个优化
```cpp
std::ios::sync_with_stdio(flase);
```
然后你就会发现和scanf读入一样快了,有可能比scanf还快。。
by iMiku @ 2018-06-24 09:32:14
绝对是读优的问题qwq
by star_magic_young @ 2018-06-24 10:54:26
@[iMiku](/space/show?uid=74833) 然而她好奇的是read()
by d3NtMDAw @ 2018-06-24 10:54:44
@[PBCWZCC](/space/show?uid=28004) 哪有这么写优读的
```cpp
inline int read()
{
int re=0,symbol=1;
char ch;
while(1)
{
ch = getchar();
if('0'<=ch && ch<='9')
{
re = re * 10 + (ch - '0');
}
else if(ch == '-')
{
symbol = -1;
}
else
{
break;
}
}
return re * symbol;
}
```
应该先判断非数字字符,再判断数字啊
by Anguei @ 2018-06-24 11:09:25
@[yyfcpp](/space/show?uid=53062)
这个读入优化曾经在洛谷上`AC`过
我就没有在意
它只是在某一题上`WA`
by PBCWZCC @ 2018-06-24 14:04:04
这是我改完之后的
```cpp
inline int read(void)
{
int re = 0,symbol = 1;
char ch = getchar();
while(ch<'0'||'9'<ch)
{
if(ch == '-')symbol = -1;
ch = getchar();
}
while('0'<=ch&&ch<='9')
{
re = re * 10 + ch - '0';
ch = getchar();
}
return re * symbol;
}
```
原来的个可能会读卡空字符
by PBCWZCC @ 2018-06-24 14:05:35
原来的可能会少读
by PBCWZCC @ 2018-06-24 14:06:12
@[PBCWZCC](/space/show?uid=28004) 这个目测没什么问题
by Anguei @ 2018-06-24 14:23:28
@[yyfcpp](/space/show?uid=53062)
`Thanks`
by PBCWZCC @ 2018-06-24 14:26:55