快速读入
template <typename T>
void read (T &x) {
T f = 1; x = 0;
char tem = getchar ();
while (tem < '0' || tem > '9') {
if (tem == '-') f = -1;
tem = getchar ();
}
while (tem >= '0' && tem <= '9') {
x = (x << 1) + (x << 3) + tem - '0';
tem = getchar ();
}
x *= f;
}
快速输出
(1).递归写法
template <typename T>
void write(T x){
if (x < 0) x = -x, putchar('-');
if (x > 9) write(x / 10);
putchar(x % 10 + '0');
}
(2).栈写法
template <typename T>
void write(T x) {
if (x < 0) {
putchar('-');
x = -x;
}
stack<char> s;
int cnt = 0;
while (x != 0) {
s.push(x % 10 + '0');
x /= 10;
}
while (!s.empty()) {
putchar(s.top());
s.pop();
}
}
压行
template <typename T> void read (T &x) {x = 0; T f = 1;char tem = getchar ();while (tem < '0' || tem > '9') {if (tem == '-') f = -1;tem = getchar ();}while (tem >= '0' && tem <= '9') {x = (x << 1) + (x << 3) + tem - '0';tem = getchar ();}x *= f;}
template <typename T> void write (T x) {if (x < 0) {x = -x;putchar ('-');}if (x > 9) write (x / 10);putchar (x % 10 + '0');}
转载请注明原文地址:https://blackberry.8miu.com/read-34315.html