CDOJ的使用
2015-06-20 21:03
309 查看
先贴网站:CDOJ
咦,对了,最好用火狐或者谷歌浏览器来打开这个网站,反正IE打不开。
oj就是online judge,在线评测网站,就是它上面有题,然后你在本地写好程序后,把代码提交上去(复制粘贴就可以),所以理论上你也可以直接在oj的网页上写代码,但是,那个基本就是一个文本编辑器,所以一般不会这样做。
我个人觉得使用oj有以下几点好处:
1.oj上面有很多题,上面是一个题库,也会组织一些比赛。题库里有数据结构题,算法题,有很难的题,也有很简单的题。简单题还是有很多的,我觉得大家可以去做做,感觉这些对代码能力的提升很有帮助。
2.它是在线测试,对于每一道题,它里面有很多组测试数据,只要在他题目描述的数据的范围 内,各种奇葩数据都会有,所以有时候,可能你觉得你写的代码没问题,但是对于某些特殊数据(0,1之类的),以及一些临界状况,可能你处理的就不是那么好。
3.个人觉得,你把它那么多组数据都过了之后,这个程序应该可以算是设计的没问题了吧。
那怎么使用呢?先进入那个网站,然后右上角有sign in(登录),点开,有个register(注册)按钮,注册一个账号就好。网站是全英文的…,不过也不用担心,可以查字典嘛,反正这个是小问题啦…
注册了之后就登录,个人建议记住你填的用户名,密码和邮箱。登陆之后,主页有FAQ和step by step可以去看看。然后左侧有problems,里面就是题库。
今天给大家介绍一下使用,以第一题A+B Problem为例。
![](http://img.blog.csdn.net/20150620210637821)
题目: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语言:
C++语言:
虽然说源代码在hint里已经给出了,大概样例就是这个样子。 然后说那个status。你的代码提交上去后,会反馈给你以下六种结果:
Compile Error ; 编译出错,源代码中有语法错误
Run Time Error; 程序运行时发生错误,多为数组访问越界
Time Limit Exceeded; 超时错误程序运行时间超过运行时间
Wrong Answer ; 答案错误
Presentation Error ;输出格式错误
Accepted。恭喜,通过
然后根据这些结果,你可以去寻找你的程序出现了什么问题,直到通过(简称AC或者A了)就可以了。
流程就是这个样子。后面我会附一些简单题目,来给大家,希望我们都可以做做,提高自己的能力水平。另外,我把我们ACM公选课的课件传上来,第一节课课件讲的就是一些简介和输入输出,可以说我们现在看这些是毫无压力了。所以还是希望大家多多参与,毕竟,这是提高你们的水平的。好吧,不能上传超过1000KB的附件,我分享到我的百度云里了。
下载链接
咦,对了,最好用火狐或者谷歌浏览器来打开这个网站,反正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的附件,我分享到我的百度云里了。
下载链接
相关文章推荐
- web前端优化总结
- 句是人心
- 身份证使用
- 三层架构(我了解并详细分析)
- c语言第二周总结-结构体
- java final keyword
- mvc review
- mysql新建用户和授权登录
- 以游戏实例介绍Unity3d
- 如何直接串行电缆以及空调制解调器串行电缆之间的区别?
- Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
- sprintf、atoi、strlen、strcat、memset、sizeof的一些用法总结
- Java NIO框架Netty课程(一) – Hello Netty
- Java-马士兵设计模式学习笔记-责任链模式-模拟处理Reques Response
- SDP举例
- 个人读后感
- shell知识点2
- 关于linux中的lsb_release命令
- leetcode--Implement Trie (Prefix Tree)
- 【swift总结】基本的操作运行符