博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ACM的奇计淫巧_输入挂
阅读量:6568 次
发布时间:2019-06-24

本文共 1389 字,大约阅读时间需要 4 分钟。

什么是输入挂?

众所周知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;}

 

转载于:https://www.cnblogs.com/HarryGuo2012/p/4728243.html

你可能感兴趣的文章
Use PowerShell to Replace netdom Commands to Join the Domain
查看>>
模拟实现常用字符串函数
查看>>
关于ping telnet
查看>>
Java 并发编程中使用 ReentrantLock 替代 synchronized 关键字原语
查看>>
Docker私有仓库
查看>>
PHP 自己实现var_dump函数
查看>>
javascript:document的属性和方法,title,innerHTML,
查看>>
java课程第七天,匿名内部类以及异常处理
查看>>
LoRa协议加密
查看>>
Mozilla新特性只支持https网站
查看>>
MUI框架 APP手机退出方式
查看>>
puppet (三)
查看>>
DNS学习笔记
查看>>
函数重载(续)==》函数重载和函数指针在一起
查看>>
springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制【转】
查看>>
文件处理及分区管理
查看>>
不知道这些肯定没学过Go语言
查看>>
Python学习笔记__6.1章 类和实例
查看>>
爱创课堂每日一题八十九天- CSS中link和@import的区别是:
查看>>
SNMP
查看>>