标题:超级诡异的超时。。求解释。
只看楼主
聪儿
Rank: 1
等 级:新手上路
帖 子:75
专家分:3
注 册:2012-9-2
结帖率:77.78%
已结贴  问题点数:20 回复次数:4 
超级诡异的超时。。求解释。
题目在此处: http://acm.xmu.

第一种解法:
#include <iostream>
#include <math.h>
#define MAXSIZE 1000000
using namespace std;

int main()
{
    long int n;
    int temp=0,num;
    cin>>n;
    if(n<1||n>1000000) return -1;
    for(int i=0;i<2*n-1;i++)
    {
        cin>>num;
        temp=temp^num;
    }
    cout<<temp<<endl;
    return 0;
}


第二种解法
#include <iostream>
using namespace std;


int main()
{
    int n,i,x,s=0;
   
    scanf("%d",&n);
    n=n*2-1;
   
    for(i=1;i<=n;i++)
    {
      scanf("%d",&x);
      s=s^x;
    }
    printf("%d\n",s);
   
    return 0;
}

诡异的问题出现了,第一种解法 超时,用了5004MS,而第二种解法是AC的,用时2024MS。
 
诡异的地方在于两种解法除了输入用了两种表达方式以外没有任何区别。。。

想不明白了,请大神解释!!
搜索更多相关主题的帖子: include long return 
2012-11-02 09:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
cin 比 scanf 慢
2012-11-02 09:21
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
得分:10 
Huge Input, scanf is Recommended(推荐) if your are using C++.
这道题的下边写的

马马虎虎 不吝赐教 我是路过蹭分滴
2012-11-03 09:38
天剑山
Rank: 4
等 级:业余侠客
威 望:3
帖 子:119
专家分:266
注 册:2012-8-3
得分:5 
明明白白的写有scanf比cin快....
2012-11-03 14:50
聪儿
Rank: 1
等 级:新手上路
帖 子:75
专家分:3
注 册:2012-9-2
得分:0 
明白了。。对 c++太不懂了。。。多谢!
2012-11-03 16:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-385583-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.363814 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved