快速读入模板

来源:互联网 发布:c语言层次遍历二叉树 编辑:程序博客网 时间:2024/05/18 22:41
namespace IO {    const int MX = 4e7; //1e7 占用内存 11000kb    char buf[MX]; int c, sz;    void begin() {        c = 0;        //sz = fread(buf, 1, MX, stdin);//一次性全部读入        int tot = 1;        char now;        while((now = getchar()) != EOF){            buf[tot++] = now;        }        sz = tot;    }    inline bool read(int &t) {        while (c < sz && buf[c] != '-' && (buf[c] < '0' || buf[c] > '9')) c++;        if (c >= sz) return false;//若读完整个缓冲块则退出        bool flag = 0; if(buf[c] == '-') flag = 1, c++;        for(t = 0; c < sz && '0' <= buf[c] && buf[c] <= '9'; c++) t = t * 10 + buf[c] - '0';        if(flag) t = -t;        return true;    }}
#include <cctype>#define fin stdin#define BUF_SIZE 1 << 16int pos = BUF_SIZE;char buf[BUF_SIZE];inline char nextch() {    if (pos == BUF_SIZE) fread(buf, BUF_SIZE, 1, fin), pos = 0;    return buf[pos++];}inline int read() {    char ch;    while (!isdigit(ch = nextch()));    int x = ch - '0';    while (isdigit(ch = nextch())) x = 10 * x + ch - '0';    return x;}
原创粉丝点击