zoukankan      html  css  js  c++  java
  • fread读入挂 gets getchar 整数

    const int buffer_max_size=100000;
    struct quick_in{
        char buf[buffer_max_size];
        char *ps;char *pe;
        quick_in(){
            ps=buf;pe=buf+1;
        }
        inline void innext(){
            if(++ps==pe)
                pe=(ps=buf)+fread(buf,sizeof(char),sizeof(buf)/sizeof(char),stdin);
        }
        template <class T>
        inline bool operator()(T &n){
            n=0;
            T f=1;
            if(ps==pe)return false;//EOF
            do{
                innext();if(*ps==' ')f=-1;
            }
            while(ps!=pe&&!isdigit(*ps));
            if(ps==pe)return false;//EOF
            do{
                n=(n<<1)+(n<<3)+*ps-48;
                innext();
            }
            while(ps!=pe&&isdigit(*ps));n*=f;
            return true;
        }
        inline char getchar(){
            while(ps!=pe&&isspace(*ps))innext();
            char c=*ps;innext();return c;
        }
        inline bool isenter(char c){return c=='
    ';}
        void gets(char *s){
            while(ps!=pe&&isspace(*ps)) innext();
            while(ps!=pe&&!isenter(*ps)){
                *s++=*ps;innext();
            }
            *s=0;
        }
    };
    
    quick_in in;
  • 相关阅读:
    C
    B
    D
    I
    B
    E
    B
    L
    H
    bzoj3276磁力 两种要求下的最大值:分块or线段树+拓扑
  • 原文地址:https://www.cnblogs.com/MeowMeowMeow/p/7762452.html
Copyright © 2011-2022 走看看