在大量读写数据的时候 用cin可能会超时,
用scanf一般不会超时
但用的时候要谨慎,像蓝桥杯,hdu,poj不要用,会被判错,acm,cf,uva尽管用
getchar的读写速度远大于cin or scanf,可以节约大量时间
使用内联函数能减少时间
<span style="font-size:24px;">#include <cstdio>
template <class T>
inline bool rd(T &ret)
{
char c;
int sgn;
if(c=getchar(),c==EOF) return 0;
while(c!='-'&&(c<'0'||c>'9')) c=getchar();
sgn=(c=='-')?-1:1;
ret=(c=='-')?0:(c-'0');
while(c=getchar(),c>='0'&&c<='9') ret=ret*10+(c-'0');
ret*=sgn;
return 1;
}
template <class T>
inline void pt(T x)
{
if (x <0)
{
putchar('-');
x = -x;
}
if(x>9) pt(x/10);
putchar(x%10+'0');
}
int main()
{
int op;
while(rd(op))
{
pt(op+1),putchar('\n');
}
return 0;
}</span>
这就类似于一个模板,输入用rd(op),输出用pt(op),putchar('\n')使用内联函数能减少时间
还有就是头文件#include<bits/stdc++.h>包含了c++中所有的头文件,如:
#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>等
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>等
但用的时候要谨慎,像蓝桥杯,hdu,poj不要用,会被判错,acm,cf,uva尽管用