关于OJ判定AC、RE、WA或PE的代码1
需积分: 0 107 浏览量
更新于2022-08-04
收藏 120KB PDF 举报
这段代码是用于在线判题系统(Online Judge, OJ)的一种结果判定程序,它会比较两个文件的内容,根据比较结果返回AC(Accepted)、RE(Runtime Error)、WA(Wrong Answer)或PE(Presentation Error)。这些是OJ系统中常见的四种判题结果:
1. **Accepted (AC)**:程序运行正确,输出与标准答案完全一致。在本代码中,如果两个文件读到末尾且无任何不匹配情况,将返回AC。
2. **Runtime Error (RE)**:程序运行时出现错误,如除以零、数组越界等。在代码中,如果用户提交的程序无法生成输出文件,或者打开文件失败,会认为是RE。
3. **Wrong Answer (WA)**:程序运行正常,但输出不正确。当非空字符不匹配时,即两个文件在非空白字符上有差异,代码会返回WA。
4. **Presentation Error (PE)**:程序运行正确,但输出格式不正确,例如多余的空格、换行等。如果两个文件中的空格数量不匹配,或者一个文件有额外的空格,代码会返回PE。
代码的具体实现如下:
- 定义一个默认结果为AC的变量`ret`。
- 打开两个文件,如果无法打开则返回RE,并关闭已打开的文件。
- 使用循环逐个比较两个文件的字符。
- 如果文件到达末尾,跳出循环。
- 检查文件是否有一个提前结束,如果有一个文件有更多的非空字符,返回WA。
- 忽略`\r`字符,确保一行只以`\n`结束。
- 当开始新单词(非空字符出现)时,检查空格是否匹配,如果不匹配则返回PE。
- 如果一个文件有额外的空格,返回PE。
- 如果两个非空字符不匹配,返回WA并跳出循环。
关闭文件并返回比较结果。这段代码可以用于OJ系统中,对用户提交的程序输出进行自动化测试,以确定其正确性。

基鑫阁
- 粉丝: 737
- 资源: 358
最新资源
- 基于Matlab Simulink的转速功角发电机相轨迹分析与电力系统暂态稳定性研究-涉及四机两区系统与IEEE39节点系统的文献复现,基于Matlab Simulink的转速功角发电机相轨迹分析与
- TMS320F28335主控的EtherCAT低压伺服方案:TI DSP与FPGA源码及PDF原理图详解,TMS320F28335主控EtherCAT伺服方案:源码与原理图深度解析,TMS320F28
- 市场营销学核心概念解析及其应用场景
- 21考试真题最近的t316.txt
- 21考试真题最近的t317.txt
- 21考试真题最近的t318.txt
- 21考试真题最近的t319.txt
- 基于STM32F103系列的高效数控Buck同步整流电路设计,实现恒压闭环与电压精细调节,原理图PCB立创EDA绘制,软件源代码Keil5支持,基于STM32F103的数控Buck同步整流电路设计:高
- 21考试真题最近的t320.txt
- 圣诞树源码但是电风扇消除星星
- 爱心源码啊啊啊啊啊啊啊啊啊
- 跨年烟花代码啊啊啊啊啊啊啊啊啊啊
- 元旦倒计时代码啊啊啊啊啊啊啊啊啊啊
- 21考试真题最近的t325.txt
- 21考试真题最近的t326.txt
- 21考试真题最近的t327.txt