C++常见几种输出方法评测(int && long long)
2015-10-29 10:41
387 查看
一.概览
说实话我就是喜欢cout,因为简单,不用记住%lld,%64d,%d,%s,%f,%lf之类的,所以从来不用printf。但是因为输入的巨大差距(见另一篇文章http://blog.csdn.net/cym19981017/article/details/49487549),所以我决定再写一篇关于输出的评测。
cout
cout(打消iostream的输入输出缓存)
printf
二.环境介绍
评测软件:cena评测数据:noi2011道路建设后五个测试点,将输入的再输出一次;
评测环境:
处理器:Intel pentium G530 2.4GHZ 双核
内存:DDR3 1333 2GB 双通道
输入方式:
为了公平起见,和对系统的依赖尽可能少,全部scanf读入。
三.评测方式介绍
1.cout#include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<cmath> #include<queue> #include<vector> #include<climits> #include<string> #include<cstdlib> #include<set> #include<stack> #include<ctime> using namespace std; typedef long long ll; int n,a,b,c; int main() { freopen("road.in","r",stdin); freopen("road.out","w",stdout); scanf("%d",&n); cout<<n<<endl; for(int i=1;i<n;++i) { scanf("%d%d%d",&a,&b,&c); cout<<a<<" "<<b<<" "<<c<<endl; } fclose(stdin); fclose(stdout); return 0; }
2.cout(打消iostream的输入输出缓存)
#include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<cmath> #include<queue> #include<vector> #include<climits> #include<string> #include<cstdlib> #include<set> #include<stack> #include<ctime> using namespace std; typedef long long ll; int n,a,b,c; int main() { freopen("road.in","r",stdin); freopen("road.out","w",stdout); ios::sync_with_stdio(false); scanf("%d",&n); cout<<n<<endl; for(int i=1;i<n;++i) { scanf("%d%d%d",&a,&b,&c); cout<<a<<" "<<b<<" "<<c<<endl; } fclose(stdin); fclose(stdout); return 0; }
3.printf
#include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<cmath> #include<queue> #include<vector> #include<climits> #include<string> #include<cstdlib> #include<set> #include<stack> #include<ctime> using namespace std; typedef long long ll; int n,a,b,c; int main() { freopen("road.in","r",stdin); freopen("road.out","w",stdout); scanf("%d",&n); printf("%d\n",n); for(int i=1;i<n;++i) { scanf("%d%d%d",&a,&b,&c); printf("%d %d %d\n",a,b,c); } fclose(stdin); fclose(stdout); return 0; }
四.评测中
五.评测结果
六.评测总结
话说输出就没有输入差距那么大了,但是printf还是显得要快很多。。。希望有大神能发明急速输出,让我们的输出速度也有极大的飞跃。 从评测结果来看,noip还是不用太过于计较,但是noi和省选之类的我们就最好再一些时间复杂度刚刚好的一些题目上写printf了。 这里是输出2MB的数据,时间差了也不是太多,但估计很少会有让我们输出2MB那么多的数据吧?
(完)
相关文章推荐
- java实现文本框和文本区的输入输出
- MySQL 有输入输出参数的存储过程实例
- JSP程序运行原理、文档结构及简单输入输出实例分析
- 详解C++编程中的输入输相关的类和对象
- py--1 python 输入输出
- 合并网易视频中英文字幕文件,解决Java输入输出的中文乱码问题
- 输入/输出
- [FAFU 1266]STL排序+二分查找,顺便记记输入输出加速模板
- C与C++文件输入输出效率简单研究 上篇
- C与C++文件输入输出效率简单研究 下篇
- Java 学习笔记-IO-Console类
- HDU 1048 明文密文转变
- 字符串的输入输出问题
- 使用Swing编写win7简易计算器2——输入输出处理
- Java学习日记之掌控硬盘(1)
- Java学习日记之掌控硬盘(2)
- Java文件之FileInputStream、FileOutputStream
- 结构体输入输出-指针
- Java IO最详解
- MapReduce