zoukankan      html  css  js  c++  java
  • 输入挂

    有的题目需要大规模输入,很多情况用cin超时,用scanf就能过,因为scanf的速度远远快于cin。但是比scanf还要nb的输入是getchar(),这个读入速度极快,输入挂就是基于这点写的。

    整数

    inline bool scan_d(int &num)  
    {
            char in;bool IsN=false;
            in=getchar();
            if(in==EOF) return false;
            while(in!='-'&&(in<'0'||in>'9')) in=getchar();
            if(in=='-'){ IsN=true;num=0;}
            else num=in-'0';
            while(in=getchar(),in>='0'&&in<='9'){
                    num*=10,num+=in-'0';
            }
            if(IsN) num=-num;
            return true;
    }

    实数

     1 inline bool scan_lf(double &num)  
     2 {
     3         char in;double Dec=0.1;
     4         bool IsN=false,IsD=false;
     5         in=getchar();
     6         if(in==EOF) return false;
     7         while(in!='-'&&in!='.'&&(in<'0'||in>'9'))
     8                 in=getchar();
     9         if(in=='-'){IsN=true;num=0;}
    10         else if(in=='.'){IsD=true;num=0;}
    11         else num=in-'0';
    12         if(!IsD){
    13                 while(in=getchar(),in>='0'&&in<='9'){
    14                         num*=10;num+=in-'0';}
    15         }
    16         if(in!='.'){
    17                 if(IsN) num=-num;
    18                 return true;
    19         }else{
    20                 while(in=getchar(),in>='0'&&in<='9'){
    21                         num+=Dec*(in-'0');Dec*=0.1;
    22                 }
    23         }
    24         if(IsN) num=-num;
    25         return true;
    26 }
  • 相关阅读:
    LeeCode-Invert Binary Tree
    LeeCode-Contains Duplicate
    LeeCode-Linked List Cycle
    LeeCode-Number of 1 Bits
    LeeCode-Delete Node in a Linked List
    LeeCode-Same Tree
    LeeCode-String to Integer (atoi)
    单链表复习
    POJ1258 (最小生成树prim)
    HDU1248 (完全背包简单变形)
  • 原文地址:https://www.cnblogs.com/A-FM/p/5540432.html
Copyright © 2011-2022 走看看