C++常见几种输出方法评测(int && long long)

一.概览

说实话我就是喜欢cout,因为简单,不用记住%lld,%64d,%d,%s,%f,%lf之类的,所以从来不用printf。但是因为输入的巨大差距(见另一篇文章http://blog.csdn.net/cym19981017/article/details/49487549),所以我决定再写一篇关于输出的评测。
  1. cout
  2. cout(打消iostream的输入输出缓存)
  3. printf

二.环境介绍

评测软件:cena
评测数据:noi2011道路建设后五个测试点,将输入的再输出一次;
C++常见几种输出方法评测(int && long long)_第1张图片
评测环境:
处理器:Intel pentium G530 2.4GHZ 双核
内存:DDR3 1333 2GB 双通道
输入方式:
为了公平起见,和对系统的依赖尽可能少,全部scanf读入。

三.评测方式介绍

1.cout

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
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<for(int i=1;iscanf("%d%d%d",&a,&b,&c);
        cout<" "<" "<return 0;
}

2.cout(打消iostream的输入输出缓存)

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
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<for(int i=1;iscanf("%d%d%d",&a,&b,&c);
        cout<" "<" "<return 0;
}

3.printf

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
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;iscanf("%d%d%d",&a,&b,&c);
        printf("%d %d %d\n",a,b,c);
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}

四.评测中

五.评测结果

C++常见几种输出方法评测(int && long long)_第2张图片

六.评测总结

话说输出就没有输入差距那么大了,但是printf还是显得要快很多。。。希望有大神能发明急速输出,让我们的输出速度也有极大的飞跃。
从评测结果来看,noip还是不用太过于计较,但是noi和省选之类的我们就最好再一些时间复杂度刚刚好的一些题目上写printf了。
这里是输出2MB的数据,时间差了也不是太多,但估计很少会有让我们输出2MB那么多的数据吧?

(完)

你可能感兴趣的:(输入输出)