zoukankan      html  css  js  c++  java
  • C++ 快读快写模板

    这是目前我知道的最快的快读写了,使用 fread() 重写了 getchar() 函数,在调试时需要注释掉第二行(即重写 getchar() 行),提交代码时取消掉注释即可,因为 fread() 仅能使用文件操作读入

    如果数据范围和int范围不一样记得修改数据类型

    支持负数版

    #include<bits/stdc++.h>
    #define in read()
    using namespace std;
    #define getchar() (S==T&&(T=(S=B)+fread(B,1,1<<15,stdin),S==T)?EOF:*S++)
    char B[1<<15],*S=B,*T=B;
    inline int read()
    {
        char c=getchar();
        int x=0,f=1;
        while(c<48){if(c=='-')f=-1;c=getchar();}
        while(c>47)x=(x*10)+(c^48),c=getchar();
        return x*f;
    }
    inline void mwrite(int a)
    {
        if(a>9)mwrite(a/10);
        putchar((a%10)|48);
    }
    inline void write(int a,char c)
    {
    	mwrite(a<0?(putchar('-'),a=-a):a);
    	putchar(c);
    }
    signed main()
    {
    	
        return 0;
    }
    

    不支持负数版

    #include<bits/stdc++.h>
    #define in read()
    using namespace std;
    #define getchar() (S==T&&(T=(S=B)+fread(B,1,1<<15,stdin),S==T)?EOF:*S++)
    char B[1<<15],*S=B,*T=B;
    inline int read()
    {
        char c=getchar();
        int x=0;
        while(c<48)c=getchar();
        while(c>47)x=(x*10)+(c^48),c=getchar();
        return x;
    }
    inline void mwrite(int a)
    {
        if(a>9)mwrite(a/10);
        putchar((a%10)|48);
    }
    inline void write(int a,char c)
    {
    	mwrite(a);
    	putchar(c);
    }
    signed main()
    {
    	
        return 0;
    }
    
  • 相关阅读:
    游戏与必胜策略
    中国剩余定理
    中国剩余定理
    欧几里得和扩展欧几里得
    欧几里得和扩展欧几里得
    51nod 1028 大数乘法 V2
    51nod 1028 大数乘法 V2
    51nod 1029 大数除法
    51nod 1029 大数除法
    51nod 1166 大数开平方
  • 原文地址:https://www.cnblogs.com/cmy-blog/p/cppfastrw.html
Copyright © 2011-2022 走看看