1. 程式人生 > >大模板!!!

大模板!!!

        NOIP大模板(第一版)

一.檔案輸入,輸出

 1 #include<cstdio>
 2 using namespace std;
 3 int main(void)
 4 {
 5     freopen("","r",stdin);
 6     freopen("","w",stdout);
 7     //...
 8     fclose(stdin);
 9     fclose(stdout);
10     return 0;
11 }

 

 

二.輸入,輸出優化!!!(快讀&快輸)  

  (1)快讀

    1.整數讀取 (需要呼叫 <iostream>  <cstdio>

1 inline int read()
2 {
3     int x=0,w=0;
4     char ch=0;
5     while(!isdigit(ch)) w|=ch=='-',ch=getchar();
6     while(isdigit(ch)) x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
7     return w?-x:x;
8 }

    2.浮點數讀取(需要呼叫 <iostream>  <cstdio>

 1 inline double  read()
 2 {
 3     int w=0,y=0;
 4     double x=0,t=0.1;
 5     char ch=0;
 6     while(!isdigit(ch)) w|=ch=='-',ch=getchar();
 7     while(isdigit(ch)) x=x*10+(ch^48),ch=getchar();
 8     y|=ch=='.';
 9     if(y)
10     {
11         ch=getchar();
12         while(isdigit(ch)) x+=(ch^48
)*t,t*=0.1,ch=getchar(); 13 } 14 return w?-x:x; 15 }

  (2)快輸

   1.整數輸出(需要呼叫 <iostream>  <cstdio>

 1 inline void write(int x)
 2 {
 3     if(x<0)
 4     {
 5         putchar('-');
 6         x=-x;
 7     }
 8     if(x>9) write(x/10);
 9     putchar(x%10+'0');
10 }

  2.浮點數輸出(暫無)