比特_OJ入门

本文简要介绍了OJ(Online Judge)的原理、注意事项、使用时如何正确处理输入/输出格式,以及常见的结果状态及原因。建议首次尝试在线编程题目的同学入门必看。

一、OJ简介

Online Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C++)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。

----以上内容来自百度

简而言之:用户在前台提交程序;后台编译并执行,将结果存放到文件;通过文件和标准答案相比较,得出结果。

二、注意事项

一个用户提交的程序在OJ系统下执行时将受到比较严格的限制,包括运行时间限制,内存使用限制和安全限制(防止用户恶意操作)等。

有严格的输入/输出格式;有的OJ对java语言要求自己使用固定类名Mair。

通过简单比较文件判断输出数据和标准输出样例的差别,或者检验用户程序的输出数据是否满足一定的逻辑条件,最后返回给用户一个状态。因而OJ不太在意细节。

三、应对措施

正确处理输入(键盘输入)、输出(屏幕输出)格式

采用标准输入/输出,无需考虑读写文件

四、如何正确处理输入格式

预先不输入数据的数组

   处理方式 ----读到文件结尾

   如:

   2.预先输入数据的数组

   处理方式 ----读数组然后进行循环

   如:

   3.只有一组数据

   处理方式 ----直接读取

   如:

注意:

可以不用保存所有输入,读一组计算一组;字符串带空白的情况。

五、如何正确处理输出格式

注意细节,看题目要求,如:

不需要输出case数

需要输出case数

每个case之后有空行

两个case之间有空行

  输出与题目要求严格一致!

注意:字母大小写;何时换行;输出“case”后有没有“#”“:”等;每行末尾有\n,但一般没有空白;用printf代替cout。

六、常见OJ结果状态及原因

通过(Accepted,AC)

答案错误(Wrong Answer,WA)

超时(Time Limit Exceed,TLE):程序太慢(不一定错误)

输出超限(Output Limit Exceed,OLE):输出太多

超内存(Memory Limit Exceed,MLE):使用太多内存

运行错误(Runtime Error,RE):指针指乱

格式错误(Presentation Error,PE):多输出空白等

无法编译(Compile Error,CE),并返回程序使用的内存、运行时间等信息。

以上就是关于OJ的简单常见问题,不了解的同学们可以涨涨姿势,希望童鞋们在线编程题都能够全部AC哦~~

■ Over ■

-------------------------------------

【比特学员】 优秀博文

---------------------------------------

比特 | 文件压缩扩展之 LZ77压缩

比特 | 智能指针那些事儿

比特 | C++实现红黑树

比特 | 【C++】解析虚函数表和虚继承

比特 | C++多态(上)——虚函数、虚表

比特 | 【c++】深入剖析各种继承下的对象模型

比特 | 单链表面试题——进阶篇

比特 | AVL树

比特 |【网络】网络基础知识总结

比特 | 僵尸进程和孤儿进程

比特 | Linux下的信号

比特 | NAT技术与代理服务器

比特 | TCP协议的"三次握手"和"四次挥手"

比特 | Linux中消费者与生产者模型