每日一题9:极致速度
题目描述
请进一步压缩scanf读入的时间。
输入格式
无。
输出格式
自定义,准确描述速度即可。
分析
可以自己编写函数,用getc读入字符,"组装"成整数。
#include<bits/stdc++.h>
using namespace std;
int x[10000005],s,e;
void gt(int &n){
char c;
for(c=getc(stdin);c<'0' || c>'9';c=getc(stdin));
for(n=0;c>='0' && c<='9';c=getc(stdin));
n=n*10+int(c-'0');
}
void tst(string nm,int n){
freopen(nm.c_str(),"r",stdin);
gt(n);
for(int i=0;i<n;i++)
gt(x[i]);
freopen(nm.c_str(),"w",stdout);
}
int main(){
srand(int(time(NULL)));
s=clock();
tst("d1.in",100000);
e=clock();
cout<<"10^5 integer:"<<e-s;
s=clock();
tst("d2.in",1000000);
e=clock();
cout<<"\n10^6 integer:"<<e-s;
s=clock();
tst("d3.in",10000000);
e=clock();
cout<<"\n10^7 integer:"<<e-s;
return 0;
}