c++ cin TLE time limit exceeded 超出时间限制
TLE是(time limit exceeded)缩写,超出时间限制。
关于输入输出优化有一条让不要用cin/cout,而是用scanf和printf.
Change methods of Input-Output: You must choose proper input-output functions and data structure that would help you in optimization.
In C++, do not use cin/cout – use scanf and printf instead.
其实在看了分析文章《C++的輸出入cin/cout和scanf/printf誰比較快?》
只需要注意到以下三个地方,就可以愉快的使用cin/cout了。
1:sync_with_stdio 函數:和stdio同步
std::ios_base::sync_with_stdio(false);
2:endl 和 flush 物件:cout的缓冲区优化
简单点就是使用cout<'\n'替换cout<<endl;
3:cin.tie(0):cin和cout綁定
cin.tie(0);
最后是测试代码
ios_base::sync_with_stdio(false);
cin.tie(0);
for(int i = 0; i < (int)1e7; i++){
cin>>a;
cout<<a+1<<'\n';
}
for(int i = 0; i < (int)1e7; i++){
scanf("%d\n",&a);
printf("%d\n",a+1);
}
本文链接地址:https://const.net.cn/142.html