关于C++程序提交错误<runtime error><Time Limit Exceeded><Memory Limit Exceeded>~~坎坎坷坷/(ㄒoㄒ)/~~(仅作为学习记录)

写了一些程序,慢慢发现wrong answer并不是那么可怕,可怕的是除其以外的错误。

谨以此文纪念那个跟我死磕一上午,最终被调教好的程序。

 

  1.Time Limit Exceeded :Time Limit Exceed意为“超出时间限制”即运行超时。对于我这种萌新来讲,直接就百度去了。看了很多篇博文,以下为我自己的总结。

   (1)递归函数:程序运行时间一般由时间复杂度来衡量(估算方法自己查),时间复杂度越高,代表这个程序需要的运行时间越久。而递

            归函数的时间复杂度是指数级别的,算是特别高了。

   (2)循环问题:若循环没有终止条件,或者终止条件难以在需要的时候终止循环。这时候造成无限循环,运行时间可想而知。但一般程

            序在自己的软件上也不会有正确结果。

   (3)输入输出:这是在下的错误(好低级,(✿◡‿◡))。在C++中,cin和cout调用时涉及输入输出流,而printf和scanf是C标准库中

            的函数。所以scanf和printf在时效上优于cin和cout。这种情况下,程序是可以在自己的软件上(我的是c-free)完美

            运行,然而acm提交却一直报错。

 

  2.Runtime Error :Runtime Error意为“运行时错误”即程序运行到一半就爆掉了。 (继续百度(ง •_•)ง)下面列出一些我可能会犯的错。

     (1)指针越界:大概就是超出了指针变量的作用范围,对于内存理解还不是很深的我很容易犯的错误。

     (2)使用已经释放的空间:这是动态存储问题了,指针,动态数组吧。

     (3)其它还有很多原因会导致runtime error:表达式计算除0数组越界、数组开得太大,造成栈溢出

 

   3.Memory Limit Exceeded :意为“超出内存限制”。是与空间复杂度有关了。大概因为在下题做少了,这种问题仅仅出现过一两次。并未与其纠缠很久,暂时放过,仅作记录。

 

  作为一个菜鸟萌新,以后的路还很长。会陆续补充那些与我死磕的问题。

    菜鸟入门,难面犯错,望各位前辈指正。

 

posted @ 2020-04-04 12:59  唯见月寒日暖  阅读(1728)  评论(0)    收藏  举报