讀入輸出優化_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('\n');
48     }
49     return 0;
50 }

  這里注釋掉的是考慮負數的情況,許多情況用不上

  還有許多題目的輸出僅為一行或者很少的數據,我們可以不寫輸出優化

  還要注明一點,inline也是一個函數優化,它相當於整個函數define,可以看做直接將代碼粘貼到調用的地方,而不進行遞歸,對於小而調用頻繁的函數可以使用

  讀入優化可以當一個模板背下來,其實自己寫快的話也不過20秒的事

 

 

 

版權所有,轉載請聯系作者,違者必究

QQ:740929894


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM