资源描述:
《acm评判结果07693》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ACM评判结果07693本系统可以对您提交的源代码进行编译并且运行,然后判断您提交的程序是否符合题目的要求,最后给出相应的信息。具体信息如下:Waiting:系统无法在第一时间给所有提交以评判结果。Compiling:您提交的代码正在被编译。Running:您的程序正在系统上运行。Accepted(AC):您的程序是正确的,恭喜!PresentationError(PE):虽然您的程序貌似输出了正确的结果,但是这个结果的格式有点问题。请检查程序的输出是否多了或者少了空格('')、制表符('t')或者换行符('')。WrongAnsw
2、er(WA):输出结果错,这个一般认为是算法有问题。TimeLimitExceeded(TLE):您的程序运行的时间已经超出了这个题目的时间限制。MemoryLimitExceeded(MLE):您的程序运行的内存已经超出了这个题目的内存限制。OutputLimitExceeded(OLE):您的程序输出内容太多,超过了这个题目的输出限制,多半是死循环引起的。CompilationError(CE):您的程序语法有问题,编译器无法编译。具体的出错信息可以点击链接察看。OutOfContestTIme:比赛已经结束,这个只有在比赛中才会出现
3、RuntimeError(RE):运行时错误,这个一般是程序在运行期间执行了非法的操作造成的。以下列出常见的错误类型:ACCESS_VIOLATION您的程序想从一些非法的地址空间读取或向其中写入内容。一般例如指针、数组下标越界都会造成这个错误的。INTEGER_DIVIDE_BY_ZERO在进行整数除法的时候出现了除数为零的异常。STACK_OVERFLOW栈溢出。一般是由于无限递归或者在函数里使用了太大的数组变量的原因。本系统的评判流程是这样子的:对用户提交的源程序进行编译,如果编译通过,则运行编译好的EXE文件,同时使EXE文件从文
4、本数据中读取测试数据,并同时保存EXE文件的输出,如果EXE文件运行没有超出规定的时间与内存空间,则对EXE输出的数据与正确答案数据进行比对,最后给出结果。所以用户的程序仍然使用标准输入输出,例如题目1000可以这样子写常见问题解答1.我的程序如何进行输入输出?2.在线判题系统(以下简称POJ)的编译器是哪些?3.提交的时候可否使用快捷键?4.请问提交的程序是如果被判答的?5.POJ对提交程序的不同判答的意义?6.SpecialJudge的题目有什么不同?7.如何确定程序读入的终止?8.为什么我的程序在GCC/G++(C/C++)下被判成
5、WA/TLE/RE,但是在C/C++(GCC/G++)下被判成AC?9.有些题目的时间限制是1秒,但是有些程序却以几秒的时间AC了?10.我的程序仅仅超过时间限制15MS,我该怎么优化程序呢?11.我还有其他问题?________________________________________问题:我的程序如何进行输入输出?解答:你的程序应该始终使用标准输入(stdin)和标准输出(stdout).比如,你可以使用scanf(在C/C++编译器下)或者cin(在C++编译器下)来读取数据,使用printf(在C/C++编译器下)或者cou
6、t(在C++编译器下)来输出答案.用户提交的程序将不允许读/写文件操作.如果你坚持要这样做,OJ很可能会返回RuntimeError(运行时错误)或者WrongAnswer(答案错误).另外还要注意的是在C++下的I/O操作.由于其复杂的内部实现方式,cin和cout相对于scanf和printf来说要慢上不少.如果在G++下编译提交,速度的差异将会愈加明显.所以如果题目给出的数据将有巨大的输入数据时,使用cin和cout有可能导致意外的TimeLimitExceed(超时)._______________________________
7、_________问题:在线判题系统的编译器是哪些?解答:目前我们使用5个编译器来支持各种语言的程序提交.C和C++采用的是MS-VC++6.0,而对于GCC/G++,采用的是MinGW+GCC/G++3.4.2.对于Pascal,采用的是FreePascal2.0.0.对于Java,采用的是JDK1.5.0.下面是1000的正确程序在不同编译器下的写法: CandGCC:#include intmain(void){inta,b;scanf("%d%d",a,&b);printf("%d\",a+b);re
8、turn0;} C++andG++:#include usingnamespacestd; intmain(void){inta,b;cin>>a>>b;cout<