Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:为什么我还是wa呢???哪位帮我看看????即使是去掉!EOF,为什么会是TLE呢??In Reply To:为什么我还是wa呢???哪位帮我看看????即使是去掉!EOF,为什么会是TLE呢?? Posted by:766826825 at 2010-08-22 20:38:56 > #include<stdio.h> > int jud(int n) > { > int i=1; > while(n!=1) > { > if(n%2==0) > n=n/2; > else > n=3*n+1; > i++; > } > return i; > > } > int main() > { > int i; > int m,n,t; > > while(scanf("%ld %ld",&m,&n)!=EOF) > { > if(m>n) > { > for(i=n;i<=m;i++) > { > if(jud(i)>t) > t=jud(i); > } > } > for(i=m;i<=n;i++) > { > if(jud(i)>t) > t=jud(i); > } > > printf("%d %d %d\n",m,n,t); > t=0; > } > return 0; > > } 可能测试方法比较特别,有人已经贴出的暴力法,是把所有的1到10000所有可能的数列长度都计算出来,由于3n+1问题,不是数字越大,数列就越长。所以m与n之间的长度需要比较每一个数字大小。 估计系统测试的是:计算不同的m,n区间,看看有没有重复的计算。但测试组较多时,已经贴出的暴力法,就存在优势了。 Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator