io

io读入输出优化库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
namespace io {
const int MAXBUF = 1 << 20;
inline char () {
static char buf[MAXBUF],*p1,*p2;
if(p1==p2) {
p2 = (p1=buf)+fread(buf,1,MAXBUF,stdin);
if (p1 == p2) return EOF;
}
return *p1++;
}

inline void read(int &x) {
x = 0;
bool is_neg = false;
char ch =get();
while(!(ch >='0' && ch <= '9') && ch != '-') ch = get();
if (ch == '-') is_neg = true, ch = get();
while((ch >='0' && ch <= '9')) x = x * 10 + ch - '0',ch = get();
if (is_neg) x = -x;
}
inline void read(float &x) {
x = 0;
bool is_neg = false;
char ch =get();
float basic = 1;
while(!(ch >='0' && ch <= '9') && ch != '-') ch = get();
if (ch == '-') is_neg = true, ch = get();
while((ch >='0' && ch <= '9')) x = x * 10 + ch - '0',ch = get();
if (ch == '.') {
ch = get();
}
while((ch >='0' && ch <= '9')) basic *= 0.1, x = x + basic * (ch - '0'),ch = get();
if (is_neg) x = -x;
}
inline void print(int x)
{
if(x < 0){putchar('-');x = -x;}
if(x > 9)print(x / 10);
putchar(x % 10 + '0');
}
}