快读与快写
2020.08.19
Zhao Yiming
 热度
℃
前言
C++中,cin/cout 的速度太慢,而用ios加速又有可能会爆零,于是,我们可以用快读/快写来优化。
快读
1 2 3 4 5 6 7 8 9
| inline int read(){ int s=0,w=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-')w=-1;ch=getchar(); } while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar(); return s*w; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| inline bool read(int& a){ int s=0,w=1; char ch=getchar(); if(ch==EOF){ return false; } while(ch<'0'||ch>'9'){ if(ch=='-')w=-1;ch=getchar(); } while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar(); a=s*w; return true; }
|
以上两段代码最好同时出现。
用法:
还有用于多测的:
快写
1 2 3 4 5 6 7 8 9 10 11 12
| inline void write(int x){ if(x<0) putchar('-'),x=-x; if(x>9) write(x/10); putchar(x%10+'0'); }
inline void writeln(int x){ if(x<0) putchar('-'),x=-x; if(x>9) write(x/10); putchar(x%10+'0'); puts(""); }
|
以上两个函数的唯一区别是:第二个在输出完后还会再输出一个空行。
用法:
✿✿ヽ(°▽°)ノ✿完结撒花!!