由於c++自帶的scanf有時候會被卡,自己寫一下輸入輸出會讓程式快很多,下面我用的是fread加速讀入.
fread的速度是scanf,cin關同步指標的幾十倍,是普通read的2倍.讓程式跑得更快.
為了看的時候方便,我把這些封裝在乙個namespace裡面,要用的時候呼叫就可以了.
下面是**:
1namespace
zdy,*f=b;}inline void
in(ll &x)namespace fob,*f=b,*g=b+300000-2;}struct foce} _foce;namespace ibinline void
out(ll x)if(x<0)char *s=ib::b;while(x) *(++s)=x%10,x/=10;while(s!=ib::b) pc((*(s--))+48);}inline void outn(ll x)
7 }using
namespace zdy;
只要把這段**貼上到**的主程式的上面,就可以使用in(x)輸入x,out(x)輸出x,outn(x)輸出x並換行
ll指的是要讀入的整數的型別,可以是short,int,long long,_int64/_int128等型別
快速輸入輸出類(C )
我們知道,cin cout是很慢的,所以我們經常scanf printf。但是如果要求更嚴格一些,速度要更快,該怎麼辦呢?有一種解決辦法,那就是 快速輸入輸出。快速輸入輸出採用getchar 和putchar 函式,用了數字累加的方法輸入 輸出數。我們也可以把快速輸入輸出定義成類,就像cin cou...
cin cout 快速輸入輸出(效率優化)
在這裡,我不得不糾正大家以為iostream很慢的這樣乙個以訛傳訛流毒無窮的錯誤觀念。大家觀察到的iostream慢,通常都是因為c 需要保持對c的io library相容,所以c 的io library是沒有buffer的,而且必須乙個字元乙個字元來讀取!比如說有人蛋疼這麼寫 getline ci...
cin cout 快速輸入輸出(效率優化)
在這裡,我不得不糾正大家以為iostream很慢的這樣乙個以訛傳訛流毒無窮的錯誤觀念。大家觀察到的iostream慢,通常都是因為c 需要保持對c的io library相容,所以c 的io library是沒有buffer的,而且必須乙個字元乙個字元來讀取!比如說有人蛋疼這麼寫 getline ci...