收藏 分享(赏)

oj提交后的各种情况.doc

上传人:hwpkd79526 文档编号:8090275 上传时间:2019-06-08 格式:DOC 页数:4 大小:34KB
下载 相关 举报
oj提交后的各种情况.doc_第1页
第1页 / 共4页
oj提交后的各种情况.doc_第2页
第2页 / 共4页
oj提交后的各种情况.doc_第3页
第3页 / 共4页
oj提交后的各种情况.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、Frequently Asked QuestionsQ: 程序的输入和输出来自何处?A: 你得程序应当总是从 stdin 进行输入,并输出到 stdout,不需要使用文件。例如,你可以在 C 里面用 scanf 或者在 C+里面使用 cin 读取数据;在 C 里面使用 printf 或者在 C+里面使用 printf 进行输出。对于初学者,请不要“告诉”OJ 多余的信息(比如 printf(“Enter a number: “);) ,这些多余的输出会作为你的答案的一部分,毫无疑问,OJ 会认为你的答案是错误的。用户程序不允许操作文件(例如 fopen 等函数) ,否则你可能会得到 Runti

2、me Error(运行时错误)、Restricted Functions(限制使用的函数 )或者 Wrong Answer(错误答案) 等结果。注意,使用 scanf/printf 通常比 cin/cout 更快,所以如果某个程序的输入/输出量很大,使用cin/cout 可能会得到一个 Time Limit Exceeded下面是一个 Problem 1001的示例代码(C+):#include using namespace std;int main()int a, b;cin a b;cout int main()int a, b;scanf(“%d %d“, printf(“%d“, a

3、 + b);return 0;下面是一个 Problem 1001的示例代码(Pascal):PROGRAM p1001(Input, Output); VARa, b:Integer; BEGINReadln(a, b); Writeln(a + b); END.下面是一个 Problem 1001的示例代码(Java):/The Java compiler is jdk 1.5+, below is a program for problem 1001import java.io.*;import java.util.*;public class Mainpublic static voi

4、d main(String args) throws ExceptionScanner cin=new Scanner(System.in);int a = cin.nextInt(), b = cin.nextInt();System.out.println(a + b);/Old program for jdk 1.4import java.io.*;import java.util.*;public class Mainpublic static void main (String args) throws ExceptionBufferedReader stdin = new Buff

5、eredReader(new InputStreamReader(System.in);String line = stdin.readLine();StringTokenizer st = new StringTokenizer(line);int a = Integer.parseInt(st.nextToken();int b = Integer.parseInt(st.nextToken();System.out.println(a + b);Q: 如何使用 long long 或是 _int64 ?A: 如果你在 C/C+代码中使用 long long , 确认你使用%lld 来进行

6、格式化输入输出(scanf/printf). _int64是微软 VC+中使用的,本系统并不支持。Q: 提交 Java 代码时有什么需要特别注意的?A: 提交的 Java 程序应当是一个源码而不是 class 文件;输入输出也应当从 stdin/stdout 获得。所有程序应当从一个 class Main 的 main 方法开始,但是不限制使用其他的类和实例。Q: Status 里面的各个状态是什么意思?A: 各状态含义如下: Queuing: 等待评判. Accepted (AC): 恭喜,程序完全符合要求! Presentation Error (PE): 程序总体正确,但是输出格式不符合

7、要求!注意程序中的空格、空行。 Wrong Answer (WA): 输出的答案错了。偶尔,Presentation Error 也会被归类到这个情况,这取决于你的输出。Runtime Error (RE): 程序在运行的过程中出错了,也许是栈溢出、非法指针访问、浮点错误、整数除0。 。 。通常会包含一些额外的信息如下:SIGSEGV - 段错误,通常是栈溢出、非法指针访问(如越界) 。SIGFPE - 除0错误SIGBUS - 硬件错误. 联系我们吧.And, Runtime Error(JAVA) 表示你的 Java 程序在运行时出错了。 Restricted Function: 这意味着

8、你的程序使用了不被允许的程序,比如文件操作、访问网络等。记住一个原则,对做题没有意义的函数都是被禁用的,这是考虑到服务器的安全因素。 Occationally, when Runtime Error occurs, glibc will write debug infomation to /dev/tty(or open /proc/self/maps or other files) which will be also judged as Restricted Function. Time Limit Exceeded (TLE): 程序运行时间超过预期。 Memory Limit Exce

9、eded (MLE): 程序使用的内存超过预期。 Output Limit Exceeded (OLE): 程序输出的内容过多,超出预期。 Compile Error (CE): 编译出错. 点击该链接( Compile Error)以查看详细的编译错误. Compilation Timed Out (CT): 编译超时. 避免超大静态数组通常可以解决该问题。 System Error: 未知系统错误,请反馈给我们,谢谢。Q: 如何判断输入的结束?A: 大多数情况下,题目描述的输入数据有给出明确的结束标志,按照要求编写代码即可;但是有些情况要求你一直读入到输入结束并被关闭,你需要在输入时判断。

10、例如,使用scanf/cin/getchar 等函数的返回值是否等于 EOF 来判断,或者 feof(stdin)都可以。详情请参照 Problem 1001后面的样例。Q: 有些人的代码运行超过了题目限制的时间,却得到了 AC!A: Java 代码效率略低,所以我们给了2倍的时间,但是如果没有使用正确的算法,仍然会得到 TLE。如果非 Java 程序使用了超过题目限制的时间却 AC 了,请反馈给我们,谢谢。Q: 我的程序貌似只超出了时限一点点,怎么改进?A: 大多数情况下其实你的代码超时了很多,只是系统在时限之后就把它掐掉了。Q: 我还有其他问题.请到珞珈山水 BBS 的 ACM_ICPC 版面提问,会有 whuacm 的同学答复你的 :)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报