写在前面:

  一个小专题

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

  诈尸

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\n%d\n",a,b);
52 printf("%lf\n%lf\n",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!='\n') getint(w);
if(w) printf("%d %d %d\n",x,y,w);
else printf("%d %d\n",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("\nLength:%d",E_Pie_len);
24
25 fclose(stdin);fclose(stdout);
26 return 0;
27 }

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

C++快读的更多相关文章

  1. 卡常三连(快读快写+re)

    快读: inline int in() { char ch; ; '))); a*=;a+=ch-'; ,a+=ch-'; return a; } 快写: inline void out(int a) ...

  2. C++手写快读详解(快速读入数字)

    众所周知,C++里是自带读入的(这不废话吗) 例如: int a; cin>>a; 这样的读入理解简单,适合初学者,但是非常慢. 再例如: int a; scanf("%d&qu ...

  3. 快读&快写模板【附O2优化】

    快读&快写模板 快读快写,顾名思义,就是提升输入和输出的速度.在这里简单介绍一下几种输入输出的优劣. C++ cin/cout 输入输出:优点是读入的时候不用管数据类型,也就是说不用背scan ...

  4. C/C++快读(快速读入)有多——安全AC

    在一些算法题目中中,有的程序会被卡常(数),就是说,程序虽然渐进复杂度,(通俗来讲:算法的时间复杂度)可以接受,但因为算法本身的时间常数过大,导致程序在一些算法竞赛中超时.这是,快读就显得尤为重要了. ...

  5. C++读入神器——文操快读(oj也可以用)

    当某天,本蒟蒻沉迷于卡常的时候: 我-- 突然,YYKdalao说:用文操快读啊! 然后 喔-目瞪口呆 不多说,上源码: 本来用的读入方式: inline void Read( int &x ...

  6. int快读

    昨天偶然间看到CJ_tony的快读,所以便决定学习一下. 这个快读的原理就是:读入单个字符要比读入读入数字快,先读入字符,然后再转化成数字.(原理的话大学再研究) 代码: #include<io ...

  7. c++快读与快输模板

    快读 inline int read() { ; ; char ch=getchar(); ; ch=getchar();} )+(X<<)+ch-'; ch=getchar();} if ...

  8. c++ 快读快输模板

    快读 inline int read() { ; ; char ch=getchar(); ; ch=getchar();} )+(X<<)+ch-'; ch=getchar();} if ...

  9. C++快读模板

    C++的快速读入模板 inline int read() { ; char ch = getchar(); ') { if (ch == '-') flag = true; ch = getchar( ...

  10. [C/C++]快速读入代码(快读)

    快读 1.为什么要有快读 好吧,有些题目看上去十分简单,例如https://www.luogu.com.cn/problem/P4305这道题,实际上数据量巨多,光是一个测试点就可能有几个MB,在这种 ...

随机推荐

  1. 深入理解MySQL索引(下)

    先创建一个T表. mysql> create table T ( ID int primary key, k int NOT NULL DEFAULT 0, s varchar(16) NOT ...

  2. Java 多线程读取文件并统计词频 实例 出神入化的《ThreadPoolExecutor》

    重在展示多线程ThreadPoolExecutor的使用,和线程同步器CountDownLatch,以及相关CAS的原子操作和线程安全的Map/队列. ThreadPool主线程 1 import j ...

  3. Mongodb 安装和副本集集群搭建

    通用步骤,适用于所有你需要用的软件. 总结为5大步骤: 找到官网-->下载包-->解压-->修改配置-->启动 不懂的,首选官网api,次选百度 1.安装mongodb mon ...

  4. Java高并发与多线程(三)-----线程的基本属性和主要方法

    今天,我们开始Java高并发与多线程的第三篇,线程的基本属性和主要方法. [属性] 编号(ID) 类型long 用于标识不同的线程,编号唯一,只存在java虚拟机的一次运行 名称(Name) 类型St ...

  5. springmvc 字符串转日期格式

    http://www.mamicode.com/info-detail-2485490.html

  6. 量子化学Gaussian技术实战课 2021年4月9号--12号 远程在线教学

    材料模拟分子动力学课程 3月19号--22号 远程在线课 lammps分子动力学课程 3月12号--15号 远程在线课 第一性原理VASP实战课 3月25号-28号 远程在线课 量子化学Gaussia ...

  7. Py数据类型—列表,字典,元组

    列表:数据类型list. 写法li=[1,12,9,"sdsad",["ad","dd"] ].用中括号括起来,用逗号分割每个元素列表中元素 ...

  8. Linux的环境变量配置在/etc/profile或/etc/profile.d/*.sh文件中的区别是什么?

    @ 目录 login shell non-login shell 它们的区别 Linux的环境变量可在多个文件中配置,如/etc/profile,/etc/profile.d/*.sh,~/.bash ...

  9. Kafka分区分配策略(Partition Assignment Strategy)

    众所周知,Apache Kafka是基于生产者和消费者模型作为开源的分布式发布订阅消息系统(当然,目前Kafka定位于an open-source distributed event streamin ...

  10. C#高级编程第11版 - 第八章 索引

    [1]8.1 引用方法 1.委托是指向方法的.NET地址变量. 2.委托是类型安全的类,定义了返回类型和参数类型.委托类不单单只包含一个方法引用,它也可以保存多个方法的引用. 3.Lambda表达式直 ...