首页 > 代码库 > 读入输出优化_C++
读入输出优化_C++
当我们考试时遇到大量的读入或者输出时,这些代码会耗费许多运行程序的时间,导致TL
本来 log2n 的算法因为读入被卡成线性的就太不划算了,所以我们这里要采用读入输出优化
getchar 和 putchar 是最快的读入输出方式,变量名尽量用一些不是很常用的,以免冲突
1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<cmath> 5 #include<iostream> 6 #include<algorithm> 7 using namespace std; 8 9 inline int read()10 {11 char ch=getchar();12 int re=0;13 bool fl=1;14 /*15 if (ch==‘-‘)16 {17 re=0;18 ch=getchar();19 }20 */21 while (ch>=‘0‘&&ch<=‘9‘)22 {23 re=re*10+ch-‘0‘;24 ch=getchar();25 }26 return fl?re:-re;27 }28 inline void write(int re)29 {30 /*31 if (re<0)32 {33 putchar(‘-‘);34 re=-re;35 }36 */37 if (re>9) write(re/10);38 putchar(re%10+‘0‘);39 }40 int main()41 {42 int n=read(),i,a;43 for (i=1;i<=n;i++)44 {45 a=read();46 write(a);47 putchar(‘\n‘);48 }49 return 0;50 }
这里注释掉的是考虑负数的情况,许多情况用不上
还有许多题目的输出仅为一行或者很少的数据,我们可以不写输出优化
还要注明一点,inline也是一个函数优化,它相当于整个函数define,可以看做直接将代码粘贴到调用的地方,而不进行递归,对于小而调用频繁的函数可以使用
读入优化可以当一个模板背下来,其实自己写快的话也不过20秒的事
版权所有,转载请联系作者,违者必究
QQ:740929894
读入输出优化_C++
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。