zoukankan      html  css  js  c++  java
  • 读入输出优化_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         fl=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('
    ');
    48     }
    49     return 0;
    50 }

      这里注释掉的是考虑负数的情况,许多情况用不上

      还有许多题目的输出仅为一行或者很少的数据,我们可以不写输出优化

      还要注明一点,inline也是一个函数优化,它相当于整个函数define,可以看做直接将代码粘贴到调用的地方,而不进行递归,对于小而调用频繁的函数可以使用

      读入优化可以当一个模板背下来,其实自己写快的话也不过20秒的事

    版权所有,转载请联系作者,违者必究

    QQ:740929894

  • 相关阅读:
    矩阵快速幂模板
    POJ 3761 Bubble Sort 快速幂取模+组合数学
    MySQL批量修改表前缀
    js生成条形码插件
    如何将本地代码通过git上传到码云
    jQuery常用方法
    MySQL按日、周、月统计数据
    PHP文件下载
    python报错ModelNotFoundError
    thinkphp生成的验证码提示因存在错误无法显示
  • 原文地址:https://www.cnblogs.com/hadilo/p/5894384.html
Copyright © 2011-2022 走看看