怎样做一个 FIFAOnline3游戏攻略 Judge

编程网格:一个基于Online Judge的程序设计类课程教学辅助系统
我的图书馆
编程网格:一个基于Online Judge的程序设计类课程教学辅助系统
  文章编号:09)02-0087-06
  摘要:我院以传统的Online Judge系统为基础设计开发了针对在线程序设计实践和辅助的编程网格系统。本文首先介绍该系统的目标和总体功能结构,然后详细说明系统中的虚拟教学资源和教学活动,并阐述了系统在此过程中的教学辅助功能。
  关键词:程序设计类课程;Online Judge;教学辅助;编程网格;虚拟机
  :G642
  文献标识码:B
  随着计算机和互联网技术的发展,网络教育与计算机辅助教学引发了一场深刻的教育模式和教育观念的变革。一方面计算机技术减轻了教育者的工作量,提供了更丰富的教育表现形式,并可在教育资源和教育对象之间建立联系;另一方面互联网技术使得更为广泛的群体可以远程接受到更高质量的教育。在这方面,人们已经有了不少的工作成就,MIT的开放课件系统OCW[1]和Moodle课程管理系统[2]即是其中的两个。
  在面向程序设计类课程的教学辅助方面,以PKU ACM JudgeOnline[3]为代表的Online Judge系统能够对用户提交的程序进行“黑盒判定”来自动生成判题结果。但从另一方面来说,传统的Online Judge系统针对的是解题训练,并不针对课程教学辅助的场景[4]。为了弥补这一不足,为程序设计类课程提供一定程度的网络教学辅助,我们基于Online Judge功能,开发了一个针对程序设计类课程的教学辅助系统——编程网格系统(Programming Grid,PG)。
  PG利用Online Judge的功能提供了程序设计类课程对学生编程能力的锻炼,通过将现实中的教学中的资源、场景、活动引入系统,在虚拟教学活动中提供教学辅助功能,为使用该系统的师生展现了一个虚拟的程序设计类课程的编程训练、教学辅助、教学互动的平台。同时,为了方便各学校或者组织加入到此系统并充分利用其中的资源和功能,PG采用了分布式的系统结构,为系统未来的部署和发展奠定了很好的基础。
  2PG系统概述
  PG面向的是程序设计类课程及其师生,以及网络上的编程爱好者和计算机相关课程的自学者。对于PG来说,主要的用户包括:一般用户、学生用户、教师用户以及管理员。显然,学生和教师用户是系统中主要活动的发起者与参与者。
  PG以Online Judge为基础功能,为用户解决编程问题提供自动判别能力,同时针对程序设计类课程,引入了题目、题集、、课程等教学资源,以这些教学资源为核心形成了众多的虚拟教学场景,利用这些虚拟教学场景中的教学活动为系统中的师生用户提供教学辅助,特别在这些教学活动中增加了师生之间教学互动的功能,为教学中的一对一辅导提供一定的支持。下面几节就分别概述一下系统的这几个方面。
  2.1Online Judge
  Online Judge系统的最大特点是可以对用户提交的程序“在线判定”其对错。在Online Judge系统中,用户可以在线提交程序多种语言(如C、C++)源代码,系统对源代码进行编译和运行,并通过预先设计的输入/输出测试来检验程序源代码的正确性,并对代码生成的程序质量做一定的监控——譬如对程序运行时所使用的内存大小或运行时间进行限制。
  目前,这一功能的实现方式主要是“黑盒判定”。对于每一个算法,我们知道,它有0个到多个输入,1个到多个输出,并且具有穷性、确定性和可行性等特征,而每一个算法都是解决一类问题。Online Judge系统上有很多的编程题目,对于每一道题目,都存储了关于此题的多个输入输出对,这些输入输出对已经经过验证符合题意要求。当用户提交一道题目的源码之后,系统会把这个源码放入系统中编译运行,并针对题目的每一个输入输出对比较用户程序的输入输出。最后系统会根据结果返回给用户一个状态:通过(Accepted)、答案错误(Wrong Answer)、超时(Time Limit Exceed)、超内存(Memory Limit Exceed)、运行时错误(Runtime Error)、编译错误(Compile Error),并同时返回程序使用的内存、运行时间等数据信息。&
[转]&[转]&[转]&
喜欢该文的人也喜欢如何做一个 Online Judge_百度知道
如何做一个 Online Judge
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
来自娱乐休闲类芝麻团
采纳数:162
获赞数:191
擅长:暂未定制
参与团队:
刚好我也写过Online Judge,简单的说几句。操作系统的选择网站放在Linux或者Windows上其实问题都不大。但是鉴于,如果你的平台今后要拿出去办比赛等活动,那么一个正版的Windows商业授权是需要的。所以为了更加经济,选择Linux平台可能更好一点。但是你的判题核心的部分一定要放到Linux环境下。一个,正式比赛的最终判题环境是Linux;二者,Windows上使用GCC系列的编译器毕竟和Linux下有不少的差距,最终可能会导致很多蛋疼的问题。Web部分这部分没啥好说的,基本上用啥都行,和普通的Web方案没啥区别。Django、ROR、.Net、J2EE、PHP等等,没什么特殊的地方。判题节点判题部分是整个OnlineJudge网站的核心所在。一般建议把判题部分单独抽出来成为一个服务,这样便于随时通过增加判题节点来加快判题的速度。我们目前的思路是,Web端通过发送判题的请求给RabbitMQ等消息队列,每一个判题节点就是一个worker,这样可以非常简单的扩展判题节点的数量。如果网站需要提供代理POJ、ZOJ、HDU等OJ的判题功能的话,可以同样的使用上述的思路,构建代理判题的节点,自由扩展。判题核心判题核心就是实际去编译、运行用户提交上来的代码的程序。可以成为一个sandbox沙盒。由于本人对Windows的API不是很懂,所以是在Linux上写的。安全性问题,可以参看这个回答Online Judge 是如何解决判题端安全性问题的?,基本思路都是这样。通过fork出另外一个进程,通过设置时间、内存等限制,通过ptrace进行监控,对系统调用进行限制,来解决安全性问题。但是现在有一个新的思路,就是对判题核心很简单的运行用户的代码,计算时间、内存的使用量,把所有的安全性问题交给Docker来解决。因为Docker是一个非常轻量级的虚拟化方案,启动一个Docker容器就和启动一个程序一样快速,所以把判题核心的程序放到Docker里,就算用户代码搞破坏,最终挂掉的也就是Docker的容器。只要处理好和Docker的交互就可以了。但是这只是一个设想,还没有最终实现,还处于开发阶段,但是思想应该是可行的。
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。做过OJ(Online Judge)或者正在做 的人 请进 大家一起讨论讨论(或者认为自己有能力做的人)
[问题点数:100分,结帖人songyun870]
本版专家分:385
结帖率 100%
CSDN今日推荐
本版专家分:385
本版专家分:385
本版专家分:385
本版专家分:385
本版专家分:385
匿名用户不能发表回复!|
其他相关推荐【图片】OnlineJudge大集合【noip吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:22,675贴子:
OnlineJudge大集合收藏
一楼给度娘,插楼删
在下又出来放干货了,开锅本文原创,转载请说明出处,欢迎用于学习方面的交流,用于商业用途前请先联系作者。
什么是OJOnline Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。 一个用户提交的程序在Online Judge系统下执行时将受到比较严格的限制,包括运行时间限制,内存使用限制和安全限制等。用户程序执行的结果将被Online Judge系统捕捉并保存,然后再转交给一个裁判程序。该裁判程序或者比较用户程序的输出数据和标准输出样例的差别,或者检验用户程序的输出数据是否满足一定的逻辑条件。Online Judge系统最初使用于ACM-ICPC国际大学生程序设计竞赛和OI信息学奥林匹克竞赛中的自动判题和排名。现广泛应用于世界各地高校学生程序设计的训练、参赛队员的训练和选拔、各种程序设计竞赛以及数据结构和算法的学习和作业的自动提交判断中。 Pending &Waiting: 系统忙,你的答案在排队等待.Pending Rejudge: 因为数据更新或其他原因,系统将重新判你的答案.Compiling : 正在编译.Running & Judging: 正在运行和判断.Presentation Error : 答案基本正确,但是格式不对。Wrong Answer : 答案不完全正确.Time Limit Exceeded : 运行超出时间限制.Memory Limit Exceeded : 超出内存限制.Output Limit Exceeded: 输出超过限制.Runtime Error : 运行时错误.Compile Error : 编译错误.Accepted : 程序通过!
前言  本文对国内外大家常用的几十个在线测评网站做整理。每个测评网站都有一至两张图片,分别是主页和题库的截图。从图片上可以清晰地看出不同测评网站的风格,甚至是题目难度,方便大家选择适合对口味的测评网站。作者才疏学浅,无法对每个测评网站做出一句话或是更多的客观评价,只是在自己所熟悉的测评网站下说了几句自己的见解。  关于测评网站的分类,作者曾想过很多的方式,譬如按照中国外国分或是按照面向对象主要是信息竞赛生或是ACM选手分,无论怎样都无法得到一个很好的效果。网络时代把大家连成一个整体,应算法竞赛之运而生的书籍,网站,辅导机构都是相通的。更何况,许多读书时参加信息学竞赛的学生以后也往往会成为大学里ACM校队的主力。一番纠结后,作者想了一个还算折中又鄙浅的分类方法,本文中的测评网站主要分为以下几类:  推荐OJ:用户数多,题目质量高,测评机稳定,容易找到高质量题解或与人交流;  学院派OJ:各大学中学自己维护更新的测评网站,部分对外界开放;  自由型OJ:由社会组织,公司,志愿者运行,部分网站的稳定和更新得不到保证;  比赛类OJ/社区型OJ/其他的国外OJ:定期组织比赛;  提高型OJ:专业性较强,大部分题目思维难度较高  学习型OJ:网上提供编程教育的网站附带的试题库和测评机。
OJ的使用方法  if 你的学校里有自己的oj then 就刷那上面的题即可  else    if 你是一个ACMER then      按准POJ或HDU猛刷    else      if 你是一个OIER then          按准CODEVS或洛谷猛刷      else        从推荐OJ里选一个适合自己难度的OJ猛刷  总而言之,一定要有一个固定的刷题OJ,遇上特殊的自己刷的测评网站上没有的题目时,再去别的测评网站看看。
推荐OJ北京大学POJ 中国最受欢迎OJ之一,各式各样各种难度的题目都有。
杭州电子科技大学HDUOJ 中国最受欢迎OJ之一,题目数量多,来源广。
UVA 全球最大最老牌的OJ之一,题目数量堪称之最。浏览需要FQ。
当今最大中文OJ之一,它的天梯功能可以让选手按照难易程度练习各种算法。codevs也是我最早接触到的OJ,题库丰富,难度适中,可以无条件查看当前出错点的答案。据悉网站管理员WPH95以后想把CODEVS向AI等方面扩宽发展。具体怎样不得而知,不过它作为OJ的强大行还是毋庸置疑的。还请忽视我的刷题记录
洛谷 OJ上的后起新秀,迅速占有了很大的OJ评测份额,它的试炼场功能和CODEVS的天梯功能相同,可以让选手按阶段做题提高。个人认为题目难度分类有些不太恰当,为何同是“普及+提高-”的题目难度差异那么大呢?支持在线IDE编程。其代码公开计划可以让提交此题并达到60分且同加入代码公开计划的人查看他人的代码。(账号记录也请忽视,忽视哈。)
大视野在线评测BZOJ
题目难度多为省选级及以上,但有一部分题目需要购买权限才能访问。
UOJ 举办NOIP难度的UER和省选难度的UR。赛题质量极高,命题人大多为现役集训队选手。
清橙评测tsinsen 集训队作业网站。近几年的内容还没有公开。
湖南师大附中&北京八十中 vijos
河南实验中学OJ
南阳理工学院OJ
北大在线评测好像是许多大学创办比赛提交作业的场所。随着2015年NOI网站公布了NOIP考试将从本网站的NOI题库小组抽取题目后,详细这个网站会迎来很多OIERS的访问。
八一中学码酷
浙江大学ZOJ
西南科技大学SWUST OJ 只供校内学生注册
建兰中学OJ
天津大学OJ
南开大学OJ典雅的界面果断好评
华中科技大学OJ
齐齐哈尔大学OJ
浙江工业大学OJ
萨拉托夫州立大学OJ
登录百度帐号Welcome To Online Judge
请参赛队员将NickName修改为以下格式:队员1_队员2_队员3
19:20:282014东北大学ACM程序设计新星赛通知-[]详情请查看链接http://acm.neu.edu.cn/?p=28&
09:26:08请2013届的新ACMer去刷入门题库,以便对OJ有个更好的认识。-[ipqhjjybj]传送门一发:
如果链接有错误(我没有测试
就手动去HDU 的 OJ 注册一个账号,然后点导航里面的 ACM STEP
刷完Section one之后,就算是了解OJ了。
有多余精力的,建议刷完chapter one。

我要回帖

更多关于 仙剑奇侠传online 的文章

 

随机推荐