zoukankan      html  css  js  c++  java
  • ACM的奇计淫巧_输入挂

    什么是输入挂?

    众所周知scanf比cin快的多,那么有没有比scanf更快的东西呢?答案就是输入挂,输入挂利用了告诉读取的函数getchar(),然后再人工处理成整数或浮点,比使用scanf快太多。

    什么时候用输入挂?

    当输入规模达到1×10^6次方的时候,就需要输入挂,否则很有可能超时。

    代码

    代码不是我写的,此处给出出处:http://www.cnblogs.com/xiaohongmao/archive/2012/05/29/2523760.html

    整数

    复制代码
    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;
    }
    复制代码

    浮点

    复制代码
    inline bool scan_lf(double &num)  
    {
            char in;double Dec=0.1;
            bool IsN=false,IsD=false;
            in=getchar();
            if(in==EOF) return false;
            while(in!='-'&&in!='.'&&(in<'0'||in>'9'))
                    in=getchar();
            if(in=='-'){IsN=true;num=0;}
            else if(in=='.'){IsD=true;num=0;}
            else num=in-'0';
            if(!IsD){
                    while(in=getchar(),in>='0'&&in<='9'){
                            num*=10;num+=in-'0';}
            }
            if(in!='.'){
                    if(IsN) num=-num;
                    return true;
            }else{
                    while(in=getchar(),in>='0'&&in<='9'){
                            num+=Dec*(in-'0');Dec*=0.1;
                    }
            }
            if(IsN) num=-num;
            return true;
    }
    复制代码
  • 相关阅读:
    KETTLE集群搭建
    初识spark
    利用python操作mrjob实例---wordcount
    hive 优化 (转)
    hive权限管理
    hadoop常用操作命令
    hive的分桶
    Hive HQL基本操作
    hadoop--hive数据仓库
    Hive配置项的含义详解
  • 原文地址:https://www.cnblogs.com/DWVictor/p/10357215.html
Copyright © 2011-2022 走看看