关于OJ判定AC、RE、WA或PE的代码1
需积分: 0 55 浏览量
更新于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系统中,对用户提交的程序输出进行自动化测试,以确定其正确性。
基鑫阁
- 粉丝: 733
- 资源: 358
最新资源
- 毕设和企业适用springboot社交互动平台类及跨境电商管理平台源码+论文+视频.zip
- 毕设和企业适用springboot社交互动平台类及跨平台数据交换系统源码+论文+视频.zip
- 毕设和企业适用springboot生鲜鲜花类及企业财务管理系统源码+论文+视频.zip
- 毕设和企业适用springboot生鲜鲜花类及企业IT解决方案平台源码+论文+视频.zip
- 毕设和企业适用springboot生鲜鲜花类及企业数字资产管理平台源码+论文+视频.zip
- 毕设和企业适用springboot社交应用平台类及广告分析平台源码+论文+视频.zip
- 毕设和企业适用springboot社交平台类及自动化控制系统源码+论文+视频.zip
- 毕设和企业适用springboot社交平台类及智能化系统源码+论文+视频.zip
- 毕设和企业适用springboot人力资源管理类及视频监控平台源码+论文+视频.zip
- 毕设和企业适用springboot人力资源管理类及数字货币管理平台源码+论文+视频.zip
- 毕设和企业适用springboot人力资源管理类及视频监控系统源码+论文+视频.zip
- 毕设和企业适用springboot人力资源管理类及信息安全管理平台源码+论文+视频.zip
- 毕设和企业适用springboot社交互动平台类及企业云管理平台源码+论文+视频.zip
- 毕设和企业适用springboot社交互动平台类及全渠道电商平台源码+论文+视频.zip
- 毕设和企业适用springboot社交互动平台类及企业数字资产管理平台源码+论文+视频.zip
- 毕设和企业适用springboot社交应用平台类及客户关系管理平台源码+论文+视频.zip