在大多数竞赛中,评测是通过主办者的计算机进行的,这通常称为裁判系統。裁判会对选手提交的代码通过一组(通常是秘密的)测试数据进行测试。测试方法是所谓的黑箱测试,也即,裁判不关心选手的程序是如何实现的,而只要求它能够在规定的限制内正确地解答出问题。

大多数竞赛中,选手在提交代码之后能够即时获取反馈,一般反馈分为以下几种:

AC (Accepted):通过,选手程序完成了任务。

PE (Presentation Error):输出格式错误,选手程序输出答案正确,但是格式错误(例如,行中间出现空格),在某些竞赛中被视作 WA。

WA (Wrong Answer):答案错误,选手程序尽管成功运行,但并没有成功求解问题。

TLE (Time Limit Exceeded):超出时间限制,选手程序运行时超出了题目给出的时间限制。

MLE (Memory Limit Exceeded):超出空间限制,选手程序所使用的空间超过了题目给出的内存限制。在极少数竞赛中(例如USACO)被视作 RE。

RE/RTE (Runtime Error) :运行时错误,选手程序崩溃。

OLE (Output Limit Exceeded) :输出超过限制,选手程序输出了过多内容。

CE (Compile Error) :编译出错,选手程序没有成功编译。

IE/SE (Internal Error/System Error) :内部错误,评测系统出错。这时选手应当报告比赛主办方。某些平台细分为多种 (例如 Compilation Failed 编译器错误, Denial of Judgement 拒绝评测,Judgement Failed 评测失败,Checker Crashed 比较器崩溃等)。

另一些竞赛 (例如NOI)不提供即时反馈。系统在竞赛结束后会统一评测。

有些竞赛只有“对”和“不对”之分,没有部分分。例如ICPC。而另一些竞赛会按照测试点或者子任务分别给分。有时,还会按照解的优劣性进行部分给分。

对于传统题,一般判断答案正确的方法是在过滤行末空格和文末回车之后逐行比对,但是,有的题目会使用特制的比较器来进行测评。对于其他类型的题目则一般通过比较器进行给分。

大多数竞赛要求选手程序从标准输入读入数据,将答案写到标准输出,而早期竞赛和NOI系列赛则要求选手从给定的输入文件读入数据,将答案写到输出文件。