zoukankan      html  css  js  c++  java
  • ACM OJ常见错误以及解决方法

    不同OJ有不同的错误代码,有些OJ没有PE,SE啥的,甚至有没有TLE,RE的OJ,具体的要根据OJ分析,最好比赛前要测试下错误代码的种类,方便赛时找bug。

    Wrong Answer :答案错误

    输出的答案错误,具体问题各不相同,大概有这几种情况

    1.代码哪里写出bug了,代码功能与自己想实现的功能相异。

    2.解题逻辑和思路错误。

    3.特殊情况没有处理,比如0,1,2和最大值这种边界值没有考虑。

    4.空间开的不够大,造成越界,但越界并没有进行修改,或者修改的数据不是关键数据,导致不触发RE,但因为访问或者修改的错误的数据,导致输出结果错误。

    Runtime Error :运行时错误

    你的程序在运行的时候出错了,异常终止了。

    1.越界,想从一些非法的地址空间读取或向其中写入内容。

    2.除0或模0错误

    3.过多的申请栈内存导致栈溢出,如无限或过多的递归,在main函数中申请空间(此项由于不同OJ设置可能会有出入,有些OJ堆栈内存共享)。

    4.使用STL的非法操作,比如从空stack中取top。

    Presentation Error :输出格式错误

    答案正确但没按题目要求输出,注意读题,或者行末空格,和最后一行输出的换行。

    Time Limit Exceeded :时间超限

    程序运行时间太长了,超过了对应题目的时间限制。

    1.代码无限循环。

    2.算法复杂度过大。

    Output Limit Exceeded:输出超限

    程序输出了太多的内容了,超过了OJ的限制。

    Memory Limit Exceeded:内存超限

    程序运行所用的内存太多了,超过了对应题目的限制。

    1.内存空间申请过大。

    2.在有些oj(cf,洛谷)中,堆栈共享内存空间,这时当你出现过多的递归这种大量的栈内存使用的时候,不会栈溢出导致RE,而是内存超限导致MLE。


    Compile Error :编译错误

    程序编译错误

    1.编译器选取错误,使用高版本的特性,却使用低版本编译器。

    2.头文件问题,使用window系统的头文件,但OJ却是linux系统,少添加了头文件。

    Floating Point Error:除零错误

    有些OJ除零错误有专门的错误代码

    Segmentation Fault:段错误

    类似RE。

    1.缓冲区溢出,也就是你访问 了非法内存,,或者在C/C++中访问了空指针等等。

    2.堆栈溢出。

    Restricted Function:受限函数

    调用了不该调用的函数,如fork(),execv(),socket()等

  • 相关阅读:
    Linux新用户创建与删除细节详解
    通过windows远程访问linux桌面的方法(简单)
    物理机网络地址配置原理
    Hive安装中metadata初始化问题
    彻底理解Promise对象——用es5语法实现一个自己的Promise(上篇)
    基于react+react-router+redux+socket.io+koa开发一个聊天室
    深入探析koa之异步回调处理篇
    深入探析koa之中间件流程控制篇
    【踩坑记录】一个新手几乎都踩过的坑...
    NodeJS优缺点及适用场景讨论
  • 原文地址:https://www.cnblogs.com/komet/p/15123934.html
Copyright © 2011-2022 走看看