2 qq 34078712 qq_34078712 于 2016.04.17 17:05 提问

杭电3555题 为啥总是Output Limit Exceeded

3555
这是我的代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
long long f[20][3];
long long cal(long long n)
{
long long num[20],len=1,i,j,k,sum,flag,before;
num[0]=0;
num[1]=0;
while(n)
{
num[len]=n%10;
len++;
n=n/10;
}
num[len]=0;sum=0;flag=0;
for(i=len-1;i>0;i--)
{
sum=sum+f[i-1][2]*num[i];
if(flag)
sum=sum+f[i-1][0]*num[i];
if(!flag&&num[i]>4)
sum=sum+f[i-1][1];
if(num[i+1]==4&&num[i]==9)
flag=1;
}
return sum;
}
int main()
{
long long n,m,i,j,k,t,sum;
memset(f,0,sizeof(f));
f[0][0]=1;
for(i=1;i<=20;i++)
{
f[i][0]=f[i-1][0]*10-f[i-1][1];
f[i][1]=f[i-1][0];
f[i][2]=f[i-1][2]*10+f[i-1][1];
//cout<<f[i][2]<<endl;
}
while(scanf("%lld",&t))
{
for(i=1;i<=t;i++)
{
//cout<<"skjhgs"<<endl;
scanf("%lld",&m);
sum=cal(m+1);
printf("%lld\n",sum);
}
}
return 0;
}

1个回答

caozhy
caozhy   Ds   Rxr 2016.04.17 18:18
已采纳
qq_34078712
qq_34078712 为啥会输出超限呢
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ACM中关于Output Limit Exceeded和Time Limit Exceeded
Output Limit Exceeded 多数发生在递归遍历的过程中,多输出了一些内容(比如说空格)。Output Limit Exceeded还指如果输入某一组数据,你的程序返回的结果是一直输出某个结果,死循环输出的那种。Time Limit Exceeded,如果你相信你的算法是最优的,那就检查一下什么地方在什么数据下出现了死循环。否则还是考虑换个思路解题的好。TLE除了死循环就是算法问题。
output limit exceed 常见错误
output limit exceed   常见错误 最近做题,好几次出现了这样的令人郁闷的答案 output limit exceed   ,  仔细查看了自己的代码,仍然没有发现错误,后来上网上搜索答案,也是有好多人遇到过这些问题,自己的那个题经过多次修改,最终解决了,我把scanf读取lld改为cin或者直接把longlong 等更改为int就没有问题了,后来我不死心又从网上搜索http:
如何输入多组测试数据(Output Limit Exceeded错误)
当scanf读取成功时返回读取到的参数数量,否则返回EOF。EOF是一个宏,定义在stdio.h里,值为-1。以下面代码为例,正确的判断方式有:scanf(&quot;%d-%d-%d&quot;, &amp;amp;year, &amp;amp;month, &amp;amp;day) != EOFscanf(&quot;%d-%d-%d&quot;, &amp;amp;year, &amp;amp;month, &amp;amp;day) == 3或~scanf(&quot;%d-%d-%...
POJ1007: Output Limit Exceeded的解决方法
本题遇到了好久不见得OLE。 后来发现,是CHAR数组定义的刚刚好,装不下/0导致的。 +1即可。 另外:本题由于数据量很小未做优化,以下有两种优化角度: 1.优化权重计算 本题中我们直接用O(N^2)的复杂度计算权重,实际上并不需要。因为我们可以使用累加法来计算。因为题目中只出现4个字母,所以累加法显得非常有效。 举例: 我们要计算串CAB的权重 分别开3个计数器:sum
hdu2054 不要想太多,这就一水题
早该想到这是一道水题,因为这道题在杭电OJ题库的第11页,这一页基本上全是水题。但是看讨论区,大家实在想的太多了,没那么复杂。 题目是比较两个数是否相等,大家也完全没有必要想的太多!!!我在wa了之后变去讨论区看了这题该注意的情况,里面好多人讲了好多种要注意的情况,我尝试着都考虑到程序里,结果换来了更多的WA。但是后来里面有人提到了大家都想的得太多了!!!我就试着按他的考虑不多的情况去考虑,结果就AC了。 本文顺便介绍一下c++string的substr和find方法
POJ 1007 DNA Sorting——Output Limit Exceeded
这题本就是一道水题,但是让我弄出了 Output Limit Exceeded,起先没注意以为是自己的运行超时了,后来在优化下排序,发现不是如此。 最后才发现是,原来是最大数组长度是50,而且是字符串,而我真的设置了最大是50,造成最后字符数组尾部没有‘\0’,在输出的时候出问题了。 示例一: #include #define LENGTH 3 int main(v
【杭电oj】1005 - Number Sequence(找规律)
点击打开题目 Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 151858    Accepted Submission(s): 36937 Problem Descript
Eclipse报错:gc overhead limit exceeded eclipse
大家经常遇到运行java程序内存不足 Eclipse报错:gc overhead limit exceeded eclipse 原因是Eclipse默认配置内存太小 方法1: 选择 Eclipse Window-Preferences-Java-Installed JREs-Edit -Default VM Arguments 在VM自变量中输入(使用的PC内存是
[leetcode] ZigZag Conversion
题目要求: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A H N A
杭电2051 Bitset
Bitset Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 3 Accepted Submission(s) : 2 Font: Times New Roman | Verdana | Georgia Font Size: ← →