acm运行错误一般是为什么?
具体问题各不相同,大概有这几种情况
1.代码哪里写出bug了,代码功能与自己想实现的功能相异。
2.解题逻辑和思路错误。
3.特殊情况没有处理,比如0,1,2和最大值这种边界值没有考虑。
4.空间开的不够大,造成越界,但越界并没有进行修改,或者修改的数据不是关键数据,导致不触发RE,但因为访问或者修改的错误的数据,导致输出结果错误。
Runtime Error :运行时错误
你的程序在运行的时候出错了,异常终止了。
1.越界,想从一些非法的地址空间读取或向其中写入内容。
2.除0或模0错误
3.过多的申请栈内存导致栈溢出,如无限或过多的递归,在main函数中申请空间(此项由于不同OJ设置可能会有出入,有些OJ堆栈内存共享)。
4.使用STL的非法操作,比如从空stack中取top,越界访问vector。
Presentation Error :输出格式错误
答案正确但没按题目要求输出,注意读题,或者行末空格,和最后一行输出的换行。
Time Limit Exceeded :时间超限
程序运行时间太长了,超过了对应题目的时间限制。
1.代码无限循环。
2.算法复杂度过大。
Output Limit Exceeded:输出超限
程序输出了太多的内容了,超过了OJ的限制。
Memory Limit Exceeded:内存超限
程序运行所用的内存太多了,超过了对应题目的限制。
1.内存空间申请过大。
2.在有些oj(cf,洛谷)中,堆栈共享内存空间,这时当你出现过多的递归这种大量的栈内存使用的时候,不会栈溢出导致RE,而是内存超限导致MLE。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有