int get(){
int ret = 0; char c;
while((c = getchar()) != ' ' && c != '\n')
ret = ret * 10 + c - '0';
return ret;
}
妹的。。不要用上面那个,,那个不靠谱,,我调一道水题调了一个小时一直检查线段树然后发现时读入错了T T
用这个比较好:
inline int get()
{
char ch = getchar();
int data = 0;
while (ch < '0' || ch > '9')
ch = getchar();
do
{
data = data*10 + ch-'0';
ch = getchar();
} while (ch >= '0' && ch <= '9');
return data;
}
稍微长一点但是用起来就和直接scanf一样了!
//仅适合纯数字输入
int Scan() //输入外挂
{
int res=0,ch,flag=0;
if((ch=getchar())=='-')
flag=1;
else if(ch>='0'&&ch<='9')
res=ch-'0';
while((ch=getchar())>='0'&&ch<='9')
res=res*10+ch-'0';
return flag?-res:res;
}
void Out(int a) //输出外挂
{
if(a>9)
Out(a/10);
putchar(a%10+'0');
}