盒子
盒子
文章目录
  1. 前言
  2. 快读
  3. 快写

快读与快写

前言

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
read(x);
x=read();

还有用于多测的:

1
2
3
while(read(x)){
//...
}

快写

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("");
}

以上两个函数的唯一区别是:第二个在输出完后还会再输出一个空行。
用法:

1
2
write(x);
writeln(x);

✿✿ヽ(°▽°)ノ✿完结撒花!!

本文作者:Zhao Yiming Zhao Yiming

本文链接: https://zhaoyiming313.github.io/2020/08/19/快读与快写/

版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 4.0 国际许可协议,转载请注明。