果光的评测姬 原创题目

时间限制:1000ms 内存限制:125MB

题目描述

蒟蒻果光在寒假训练中被NEFU的评测姬折磨的快疯了,于是果光想到了一个疯狂的报复方法,那就是写一个评测姬评测一下别人的程序寻找快感。
既然评测姬是自己人嘛,肯定要留个后门啦,如果是果光自己的程序(用户名为"guoguang"),无论程序输出什么,都要返回AC,至于别人的程序嘛,嘿嘿嘿,当然是正常进行评测了。
由于果光太菜了,虽然他想到了这个激动人心的好方法,但是他却不会写这个评测程序。现在已知标程的输出结果和多个用户的输出结果,请你根据这些信息对用户的程序进行评测。

评测遵循以下规则:
1、若用户程序输出与标准程序输出完全相同或用户程序测试点尾部仅比标准程序多输出一个换行符,判定为 AC。
2、若用户信息(含义见输入)中不包含任何测试点,判定为 CE。
3、若用户信息中存在 n 个测试点,但什么都没有输出,判定为 RE。
4、若用户程序每个测试点输出的内容除去空格和换行符外均与标准程序输出的相同,判定为 PE。
5、若用户程序输出超过5000个字符(>5000 包括空格和换行符),判定为 OLE。
6、其他情况均判定为 WA,输出的同时需要输出第一个 WA 的测试点。

输入

单组输入。
输入开头是标准程序输出的 n 个测试点,每个测试点在单独一行的 “CASE_BEGIN” 和 "END_OF_CASE"之间。
下面是 m 个用户信息。
每个用户信息由用户名和测试点输出组成,第一行是 "USER "和对应的用户名,接下来是用户的 n 个测试点输出,在 “CASE_BEGIN” “END_OF_CASE” 之间。
注:如果用户程序 CE,用户信息中将不包含测试点信息。

数据范围:用户名长度不超过 20 个字符,测试点数量不超过10个,每个测试点不超过 5000 个字符,测试点每行不超过 1000 个字符(包括行尾换行符),用户数量不超过 20 个。

输出

每个用户输出两行,每两个用户之间用一个空行隔开(整个输出以一个空行结尾)。
第一行输出 “USER username” username为对应用户的用户名。
第二行输出评测结果,结果有以下几种情况:
直接输出以下错误信息:“Accepted” “Presentation Error” “Compile Error” “Runtime Error” “Output Limit Exceeded”
当错误为 “Wrong Answer” 时,需要额外输出第一个 WA 测试点的编号,例如 “Wrong Answer at Case #0”
注:当遇到 PE 以外错误时评测姬应停止评测该用户的程序,自动忽略剩余测试点的结果。

样例1输入

CASE_BEGIN
123 456
END_OF_CASE
USER guoguang
CASE_BEGIN
hiahiahia : )
END_OF_CASE
USER dalao
CASE_BEGIN
123456
END_OF_CASE
USER caijiguoguang
USER jvruoguoguang
CASE_BEGIN
END_OF_CASE
USER wtcl
CASE_BEGIN
wtcl
END_OF_CASE

样例1输出

USER guoguang
Accepted

USER dalao
Presentation Error

USER caijiguoguang
Compile Error

USER jvruoguoguang
Runtime Error

USER wtcl
Wrong Answer at Case #0

样例2输入

CASE_BEGIN
123
END_OF_CASE
CASE_BEGIN
456
END_OF_CASE
USER user
CASE_BEGIN
123
END_OF_CASE
CASE_BEGIN
456
END_OF_CASE

样例2输出

USER user
Accepted

测试链接

欢迎大佬们到 U107587 测试你的程序。

你可能感兴趣的:(NEFUOJ,ACM)