C++快读

 

基本模板

int k;
char c;
while(c>='0'&&c<='9')
{
k=k*10+c-'0';
c=getchar();
}

 

优化版

int k;
char c;
while(c>='0'&&c<='9')
{
k=k<<1+k<<3+c^48;   // 相当于k*10,相当于c-‘0’;
c=getchar();
}

完整版

int read()
{
int f=1,k=0;
char c;
c=getchar();
while(c<'0'||c>'9')
{
if(c=='-')f=-1;
c=getchar();
}

while(c>='0'&&c<='9')
{
k=(k<<1)+(k<<3)+(c^48);
c=getchar();
}
return f*k;
}

 

posted @ 2023-05-23 16:57  尼古丁不真  阅读(108)  评论(0)    收藏  举报