シン
超级快读快写,超级好用
#include <cstdio>
#include <iostream>
namespace IO {
const int BUFFER_SIZE = 1 << 20; // 输入缓冲区的大小
char ibuf[BUFFER_SIZE + 1], *iS, *iT;
char obuf[BUFFER_SIZE + 1];
int len = 0;
// 从输入缓冲区中读取一个字符
char gh() {
if (iS == iT) {
iT = (iS = ibuf) + fread(ibuf, 1, BUFFER_SIZE, stdin);
return (iS == iT ? EOF : *iS++);
} else {
return *iS++;
}
}
// 读取一个整数
inline int read() {
char ch = gh();
int x = 0, t = 0;
while (ch < '0' || ch > '9') {
t |= ch == '-';
ch = gh();
}
while (ch >= '0' && ch <= '9') {
x = x * 10 + (ch ^ 48);
ch = gh();
}
return t ? -x : x;
}
// 将单个字符写入输出缓冲区
inline void putc(char ch) {
if (len == BUFFER_SIZE) flush();
obuf[len++] = ch;
}
// 写入一个整数
template <class T>
inline void write(T x) {
if (x < 0) {
putc('-');
x = -x;
}
if (x > 9) write(x / 10);
putc(x % 10 + '0');
}
// 优化的字符串写入函数
inline void write(const char* str) {
while (*str) {
putc(*str++);
}
}
// 刷新输出缓冲区,将内容写入stdout
inline void flush() {
fwrite(obuf, 1, len, stdout);
len = 0;
}
}
没有加using IO::……
自己加上
- 下载图片
- 复制图片
2024-01-26
浏览880
灌水日常
登录后评论
2
2
分享