CDOJ的使用

来源:互联网 发布:孔浩java怎么样 编辑:程序博客网 时间:2024/06/05 19:58

先贴网站:CDOJ

咦,对了,最好用火狐或者谷歌浏览器来打开这个网站,反正IE打不开。

       oj就是online judge,在线评测网站,就是它上面有题,然后你在本地写好程序后,把代码提交上去(复制粘贴就可以),所以理论上你也可以直接在oj的网页上写代码,但是,那个基本就是一个文本编辑器,所以一般不会这样做。
       我个人觉得使用oj有以下几点好处:
       1.oj上面有很多题,上面是一个题库,也会组织一些比赛。题库里有数据结构题,算法题,有很难的题,也有很简单的题。简单题还是有很多的,我觉得大家可以去做做,感觉这些对代码能力的提升很有帮助。
       2.它是在线测试,对于每一道题,它里面有很多组测试数据,只要在他题目描述的数据的范围 内,各种奇葩数据都会有,所以有时候,可能你觉得你写的代码没问题,但是对于某些特殊数据(0,1之类的),以及一些临界状况,可能你处理的就不是那么好。

       3.个人觉得,你把它那么多组数据都过了之后,这个程序应该可以算是设计的没问题了吧。
       那怎么使用呢?先进入那个网站,然后右上角有sign in(登录),点开,有个register(注册)按钮,注册一个账号就好。网站是全英文的…,不过也不用担心,可以查字典嘛,反正这个是小问题啦…
       注册了之后就登录,个人建议记住你填的用户名,密码和邮箱。登陆之后,主页有FAQ和step by step可以去看看。然后左侧有problems,里面就是题库。
       今天给大家介绍一下使用,以第一题A+B Problem为例。

题目:A+B Problem。时间限制:100MS(就是1秒,指你的程序的最大运行时间)。内存限制:65535KB(指你的程序运行时的最大内存)。submit是提交按钮,点进去可以提交你的代码,支持C、C++、Java三种语言。status可以查看你的代码的提交状况(稍后会讲到)。
     然后下面是题面,input指这个程序的输入状况,output指这个程序的输出状况。意思就是,它在评测时,会按照input里描述的去输入,然后要求你的程序要按output描述的来输出。特别注意:输出不要有多余的空格,回车。必须是int main()
然后,程序结束之后就直接写return 0;不要写什么getchar();或者system("pause");这种语句。输出完了return 0;就可以。
     hint就是提示:有的题会有,有的题没有,当然,这个题纯粹是为了让你了解oj的使用的,所以hint里才会有代码。
     然后比如这道题:
     题没难度,两个(0,10)的数相加,输出结果。
     代码:
     C语言:

<span style="font-family:Microsoft YaHei;font-size:14px;">#include <stdio.h>int main() {    int a, b;    scanf("%d %d",&a, &b);    printf("%d", a+b);    return 0;}</span>



      C++语言:
<span style="font-family:Microsoft YaHei;font-size:14px;">#include <iostream>using namespace std;  int main(){     int a,b;      cin >> a >> b;     cout << a+b << endl;     return 0;  }</span>


      虽然说源代码在hint里已经给出了,大概样例就是这个样子。 然后说那个status。你的代码提交上去后,会反馈给你以下六种结果:
Compile Error ;   编译出错,源代码中有语法错误     
Run Time Error;  程序运行时发生错误,多为数组访问越界
Time Limit Exceeded; 超时错误程序运行时间超过运行时间
Wrong Answer ; 答案错误
Presentation Error ;输出格式错误
Accepted。恭喜,通过
      然后根据这些结果,你可以去寻找你的程序出现了什么问题,直到通过(简称AC或者A了)就可以了。
      流程就是这个样子。后面我会附一些简单题目,来给大家,希望我们都可以做做,提高自己的能力水平。另外,我把我们ACM公选课的课件传上来,第一节课课件讲的就是一些简介和输入输出,可以说我们现在看这些是毫无压力了。所以还是希望大家多多参与,毕竟,这是提高你们的水平的。好吧,不能上传超过1000KB的附件,我分享到我的百度云里了。
      下载链接


0 0
原创粉丝点击