[COGS] 提交与评测
由
王者自由 在 2012-04-08 创建
开放分组:
全部用户
上次编辑时间:2015-02-28 页面访问次数:367次
评测结果说明
|
A
|
答案正确
|
W
|
答案错误
|
T
|
超过时间限制
|
M
|
超过内存限制
|
R
|
没有输出文件
|
E
|
运行时错误
|
D
|
没有测试点数据
|
C
|
编译错误
|
N
|
没有源代码
|
P
|
答案部分正确
|
评测机的编译选项:
Pascal:fpc file.pas -So -XS -v0 -O1 -ofile
C:gcc file.c -lm -w -O2 -static -o file
C++:g++ file.cpp -lm -w -O2 -static -o file
为什么程序在我的电脑上能够正常运行,而在评测系统上不能?
-
评测系统建立在Linux下,编译器采用Gcc,G++,Free Pascal.评测系统在比较你的输出时默认采用忽略一切无效字符(空格,回车等)的策略。
-
评测系统对你的程序内存的使用进行限制,默认为128MB,同时也对你的程序堆栈的使用进行限制。如果你的程序使用递归多达100,000层(甚至更多),那么你的程序很可能运行时出错。
-
对于C和C++语言,主函数一定要定义为int main()而不是void main()。如果你的程序运行正常结束,应向系统返回一个整型值0,而不是其他的东西。
-
评测系统和你的电脑使用的内存安排方式可能不同。某些在你的电脑上没有经过初始化,理应为0的变量在评测系统上有可能并不如你所想的那样。
-
Linux对内存的访问控制更为严格,因此在Windows上可能正常运行的无效指针或数组下标访问越界,在评测系统上无法运行。
-
严重的内存泄露的问题很可能会引起系统的保护模块杀死你的进程。因此,凡是使用malloc(或calloc,realloc,new)分配而得的内存空间,请使用free(或delete)完全释放。
-
在极少数情况下,你的程序运行错误(或编译失败)是因为你使用的某些变量与编译系统的变量名或函数名重复(例如:mmap,fork,pipe,exec,system,socket)。对于这种问题,你只好尝试替换某些可能与系统变量名重复的变量名。
-
注意浮点运算,二进制浮点数运算的时候很有可能会造成意想不到的差异。例如a=0.00001+0.000001;
-
如果你会两种以上的语言,不妨将你的代码“翻译”成另一种语言然后提交,或许在翻译的时候你会发现你的程序的错误。如果翻译以后能够正常通过,那么请仔细检查你原来的程序。
-
如果以上都无法解决问题,请与管理员联系。或者联系作者:CmYkRgB123(作者已放弃此OJ,不再进行维护)。
|
进入个人设置即可更改用户头像和背景图片。
|