• C++快读


    写在前面:

      一个小专题

      完全非原创,不知道原来是谁提出的

      诈尸

    http://thepingaslord.deviantart.com/art/The-Evening-Prior-312446336


    • FR0X01
     1 #include<bits/stdc++.h>
     2 
     3 using namespace std;
     4 
     5 int a,b;
     6 double c,d;
     7 
     8 void readint(int &x){
     9     x=0;int neg=1;
    10     char c=getchar();
    11     while(c<'0'||c>'9'){
    12         if(c=='-') neg=-1;
    13         c=getchar();
    14     }
    15     while(c>='0'&&c<='9'){
    16         x=10*x+c-'0';
    17         c=getchar();
    18     }
    19     x*=neg;
    20     return;
    21 }
    22 
    23 void read(double &x){
    24     x=0;double y=0.1,neg=1.0;
    25     char c=getchar();
    26     while(c<'0'||c>'9'){
    27         if(c=='-') neg=-1.0;
    28         c=getchar();
    29     }
    30     while(c>='0'&&c<='9'){
    31         x=10*x+c-'0';
    32         c=getchar();
    33     }
    34     if(c=='.'){
    35         c=getchar();
    36         while(c>='0'&&c<='9'){
    37             x+=y*(c-'0');
    38             y/=10;
    39             c=getchar();
    40         }
    41     }
    42     x*=neg;
    43     return;
    44 }
    45 
    46 int main()
    47 {
    48     readint(a);readint(b);
    49     read(c);read(d);
    50     
    51     printf("%d
    %d
    ",a,b);
    52     printf("%lf
    %lf
    ",c,d);
    53     
    54     return 0;
    55 }
    • FR0X02不定长度
    #include<bits/stdc++.h>
    
    using namespace std;
    
    char getint(int &x){
        x=0;int neg=1;
        char c=getchar();
        while(c<'0'||c>'9'){
            if(c=='-') neg=-1;
            c=getchar();
        }
        while(c>='0'&&c<='9')
        {
            x=10*x+c-'0';
            c=getchar();
        }
        x=x*neg;
        return c;
    }
    
    int main()//利用快读读不定个数 
    {
        int x,y,w;
        for(int i=1;i<=3;++i)
        {
            char c;w=0;
            getint(x);c=getint(y);
            if(c!='
    ') getint(w);
            if(w) printf("%d %d %d
    ",x,y,w);
            else printf("%d %d
    ",x,y);
        }
        return 0;
    }
    • AdvancedFR
     1 #include<iostream>
     2 #include<cstdio>
     3 
     4 using namespace std;
     5 
     6 inline char GC(){
     7     static char buf[100010],*p1=buf,*p2=buf;
     8     return (p1==p2&&(p2=(p1=buf)+fread(buf,1,100010,stdin),p1==p2))? EOF:*p1++;
     9 }
    10 
    11 void READ(int &x){
    12     x=0;int neg=1;char c=GC();
    13     while(c<'0'||c>'9'){if(c=='-')neg=-1;c=GC();}
    14     while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+(c-'0');c=GC();}
    15     x*=neg;
    16 }
    17 
    18 int main(int arg,char *argv[],char *enc[])
    19 {
    20     freopen("game.in","r",stdin);freopen("game.out","w",stdout);
    21     
    22     fclose(stdin);fclose(stdout);
    23     return 0;
    24 }

    (NOIP2018亲测能用)

    例子:

     1 #include<bits/stdc++.h>
     2 #define reg register
     3 using namespace std;
     4 
     5 int U_Rarity;
     6 char E_Pie[10010];
     7 
     8 inline char GC(){
     9     static char buf[100010],*p1=buf,*p2=buf;
    10     return (p1==p2&&(p2=(p1=buf)+fread(buf,1,100010,stdin),p1==p2))? EOF:*p1++;
    11 }
    12 
    13 int main(int arg,char *argv[],char *enc[]){
    14     freopen("winterwrapup.in","r",stdin);freopen("winterwrapup.out","w",stdout);
    15     
    16     int E_Pie_len=0;
    17     for(reg int i=1;i<=10000;++i){
    18         E_Pie[i]=GC();
    19         ++E_Pie_len;
    20         if(E_Pie[i]==10) break;
    21     }
    22     for(reg int i=1;i<=E_Pie_len;++i) printf("%c",E_Pie[i]);
    23     printf("
    Length:%d",E_Pie_len);
    24     
    25     fclose(stdin);fclose(stdout);
    26     return 0;
    27 }

    比速度的话,AdvancedFR能够吊打基础快读

  • 相关阅读:
    CSS中一个冒号和两个冒号有什么区别
    伪类元素实现可伸缩时间轴
    Gulp实现css、js、图片的压缩以及css、js文件的MD5命名
    for 循环进化史
    细谈sass和less中的变量及其作用域
    Vue2.0源码阅读笔记--双向绑定实现原理
    你所不知道的setTimeout
    前端COOKIE与SESSION的区别
    js移动端向左滑动出现删除按钮
    推荐几款屏幕录制工具(可录制GIF)
  • 原文地址:https://www.cnblogs.com/Antigonae/p/11594715.html
Copyright © 2020-2023  润新知