getchar输入加速

来源:互联网 发布:百度人工智能开发文档 编辑:程序博客网 时间:2024/05/24 06:45

首先要弄明白的是:

对于c++: cin>>scanf>>getchar     <输入所耗时间>

所以,我们会采用getchar来优化输入,在数据量十分大的时候就很有用。

以下为优化模板:

I. 虽然代码长,但正负整数都可以读入

int getint(){char c;int x;for(c=getchar();(c<'0'||c>'9')&&c!='-';c=getchar());int p=0;if(c=='-'){ p=1;c=getchar(); }for(x=0;c>='0'&&c<='9';c=getchar())  x=(x<<3)+(x<<1)+c-'0';if(p) x=-x;return x;}


II. 只能读入正整数

int get_int(){     char c=getchar();     for (;c<'0'||c>'9';c=getchar());     int x=0;     for (;c>='0'&&c<='9';c=getchar())       {x*=10;        x+=c-48;       }     return x;}


原创粉丝点击