domjudge题目配置和开比赛

系统使用的是7.3.3,domjudge配置的方法请参考前文

domjudge配置-CSDN博客

题目导入

传统比较

首先可以去domjudge中随便下载一个题目,下载下来的压缩包应该是这样的

│  domjudge-problem.ini
│  problem.pdf
│  problem.yaml
│
└─data└─secret1.ans1.in2.ans2.in3.ans3.in

problem.pdf为题面,没测试过别的,根据参考博客还有一个html格式,没测试过

domjudge-problem.ini,存放该题的评测细节,如果是传统题,里面只有时限,第二个颜色改不改都没有什么影响,可以根据他法气球颜色等

problem.yaml,存放该题的评测细节,如果是传统题,里面应该只有题目名字和内存限制(单位MB),name是题目的名字,memory是内存限制

 在/data/secret 中存放测试数据,同一对.in 和 .ans,作为一组测试数据

/data/sample,存放样例数据,但是我不太需要

修改完成,将数据打包成zip上传到domjudge

特判题目

特判题目的格式如下

│  domjudge-problem.ini
│  problem.yaml
├─data
│  └─secret
│          000.ans
│          000.in
│          001.ans
│          001.in
│          example0.ans
│          example0.in
│          example1.ans
│          example1.in
│
└─output_validators└─validatechecker.cpptestlib.h

需要在problem.yaml 中添加一行内容 validation: custom,如下

# Problem exported by DOMjudge on 2021-12-11T13:38:57+01:00
name: 'Ball?'
validation: custom
limits:memory: 512

特判文件中的testlib.h可以从下边下载

cn-xcpc-tools/testlib-for-domjudge: testlib for domjudge (github.com)

至于怎么写特判,可以看一下洛谷上的特判书写规则

Special Judge 功能说明 | 洛谷帮助中心 (luogu.com.cn)

还有一种是交互题目,交互题的话,我暂时不知道怎么出题和上传到平台,如有大佬欢迎补充。

账号的导入

使用管理员账号登陆之后可以手动一个一个账号的添加,一个队伍一个队伍的添加,如果说队伍数量较少,你这样手动添加的话还是可以理解的,但是如果有几百几十个队伍的话,这样手动添加就会增加很大的工作量,所以我们可以选择批量导入账号信息

先导入 teams.tsv 再导入 accounts.tsv

tsv文件时每列直接使用 tab 间隔,但是excel并不是,所有我们可以在excel中将信息输入完成后,将其全选复制到tsv文件中

teams.tsv

teams	1
6	acmteam_001	3	team001	LDUniversity	LD	CHN	LD

第一行固定的不需要修改

第二行开始就是每一列的信息分表表示如下内容

唯一的队伍ID\t	唯一的外部ID\t	team_category的ID\t	队名\t	校名\t	校名(短)\t	国家\t	唯一的校名外部ID

唯一的队伍ID就是后台显示队伍ID(可以是任意一个,只要不冲突),唯一的尾部ID就是后台显示的 ICPC ID,team_category的ID固定为3,为参赛选手的意思。 

accounts.tsv

accounts	1
team	lduacm_001	lduacm_006	AFhs5lxwm

第一行固定不需要修改

第二行的意思如下

角色(team, admin等)\t	名字\t	username\t	password

角色固定为team,名字就是正常的用户名字,username就是登陆时间的账户名字,密码就是你设置的,可以使用一些手段给他随机生成一下

accounts在导入时间会根据username去自动挂在队伍的ID,跳过username前面的非数字字符,在跳过 0 以后,剩下的数字字符作为对应的队伍ID(剩下的不是数字就不挂队伍了,),对应的源码如下:

$teamid = preg_replace('/^[^0-9]*0*([0-9]+)$/', '\1', $line[2]);

比赛的开启

比赛就可以直接在admin账号下进行设置,开始比赛,设置活动开始时间,比赛开始时间,封榜时间,比赛结束时间,解榜时间,比赛终止时间等信息,在将以上的题目拉取等

结语

通过以上两篇博客就可以开启一场比赛,可以手动创建一些气球派送者的角色、榜单的角色、judgehost的角色,api的角色一般用来配置icpctool的等有待考察

对于ACMer来说,赛后的滚榜也是非常有趣的环节

滚榜配置:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/189021.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模型层(回顾补充)

1.1基本使用 orm框架---》对象关系映射 数据库中:一个个表 :user表,book表,一条条的记录 程序中:一个个类,一个个对象 以后数据库中一张表---》对应程序中一个类 以后数据库中一条记录--》对应…

12月01日,每日信息差//阿里国际发布3款AI设计生态工具//美团买菜升级为“小象超市”//外国人永居证换新、6国游客免签来华

_灵感 🎖 阿里国际发布3款AI设计生态工具 🎄 AITO问界系列11月交付新车18827辆 🌍 美团买菜升级为“小象超市” 🌋 全球首个金融风控大模型国际标准出炉,由腾讯牵头制定 🎁 支付宝:支持外国人…

Python函数关键字参数及用法

在定义 Python 函数时可定义形参(形式参数的意思),这些形参的值要等到调用时才能确定下来,由函数的调用者负责为形参传入参数值。简单来说,就是谁调用函数,谁负责传入参数值。 Python 函数的参数名不是无意…

Appium 元素定位与常用方法,让你轻松玩转自动化测试!

对测试人来说,Appium 是非常重要的一个开源跨平台自动化测试工具,它允许测试人员在不同的平台(iOS、Android 等)使用同一套 API 来写自动化测试脚本,这样可大幅提升代码复用率和工作效率。 本文汇总了从 Appium 基础到…

Python列表切片操作详解:提取、复制、反转等应用示例

更多资料获取 📚 个人网站:ipengtao.com 在Python中,列表切片是处理列表数据非常强大且灵活的方法。本文将全面探讨Python中列表切片的多种用法,包括提取子列表、复制列表、反转列表等操作,结合丰富的示例代码进行详细…

直饮水表与智能水表有哪些区别?

随着科技的不断进步,智能家居的概念正逐渐深入人们的生活。其中,直饮水表和智能水表作为创新科技的代表,在水资源的使用和管理方面发挥了重要作用。然而,这两者之间存在一些关键的区别。那么,直饮水表与智能水表到底有哪些区别呢? 直饮水表和智能水表都是…

java+springboot学生宿舍公寓管理系统xueshenggongy

经过查阅资料和调查统计发现,高校学生宿舍管理工作变得越来越繁重和琐碎,如在学生住宿安排(特别是新生住宿安排)、宿舍大幅调换、公共设施统计维护、宿舍杂费统计收取、宿舍卫生管理统计、出入登记记录等各个方法存在着大量问题和…

【Python 训练营】N_14 文件查找和替换

题目 新建一个test3.txt文件,内容如下图,然后从中查找字符串’five’,并统计出现的次数;替换其中的’five’字符串为’python’。 分析 类似Excel中的查找和替换,查找相应内容需用到正则,还考察文件打开、…

Leecode 【一】

环形链表: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&…

以太网PHY,MAC接口

本文主要介绍以太网的 MAC 和 PHY,以及之间的 MII(Media Independent Interface ,媒体独立接口)和 MII 的各种衍生版本——GMII、SGMII、RMII、RGMII等。 简介 从硬件的角度看,以太网接口电路主要由MAC(M…

二叉树展开为链表的三种写法

二叉树展开为链表 链表头节点法 新建一个树形链表,前序遍历这个树,遍历到一个节点就往里插 class Solution {TreeNode dummyNode new TreeNode(0,null,null);TreeNode p dummyNode;public void flatten(TreeNode root) {if(root null) return;//线序…

微软 Power Platform 零基础 Power Pages 网页搭建教程学习实践(一)

微软 Power Platform 零基础 Power Pages 网页搭建教程学习实践 Power Pages 网页搭建 微软 Power Platform 零基础 Power Pages 网页搭建教程学习实践1、Power Pages 介绍2、开始创建一个站点3、选择一个合适的模板4、编辑我们的模板5、面向专业开发人员的高级开发功能6、预览…

深搜回溯剪枝优化策略-全排列II

LCR 084. 全排列 II - 力扣(LeetCode) 这道题的主体思想和之前讲过的全排列是相似的,不同的是思考的角度要侧重于剪枝方向,所以可以通过这道题对剪枝思想的进一步扩展; 通过题意,可以知道,在上一…

STM32CubeIDE(CUBE-MX hal库)----蓝牙模块HC-05(详细配置)

系列文章目录 STM32CubeIDE(CUBE-MX hal库)----初尝点亮小灯 STM32CubeIDE(CUBE-MX hal库)----按键控制 STM32CubeIDE(CUBE-MX hal库)----串口通信 STM32CubeIDE(CUBE-MX hal库)----定时器 文章目录 系列文章目录前言一、蓝牙配置二、CUBE-MX可视化配置三、蓝牙APP调试助手四、…

PMIC : 一颗芯片解决N多问题

1、什么是PMIC Power Management Integrated Circuit(PMIC)中文是电源管理集成电路,主要特点是高集成度,将传统的多路输出电源封装在一颗芯片内,使得多电源应用场景高效率更高,体积更小。 PMIC 是当今电子…

嵌入式基础电路设计和常用芯片用法

文章目录 一、基础电路1. 按键电路2. 晶振电路3. 降压电路 二、常见芯片1. SN74HC244PWR2. TLP23623. ACS7244. LM3585. EL357-NB6. SMBJ30CA 一、基础电路 1. 按键电路 观察以上电路可知: 在按键SW1不按下的时候引脚BTN1是接着3V3的,所以默认为高电平…

windows判断端口是否在使用的bat脚本

脚本 REM 查询端口是否占用 netstat -ano|findstr 3306 >nul &&echo y >1.log ||echo n >1.log REM 读取文本内容赋值给变量 set /P resu<1.log if %resu% y (echo port in use ) else (echo port not in use ) mysql服务不运行的时候检测效果 mysql服…

Linux体系架构----Linux根目录下常见一级子目录的作用

文章目录 Linux 根目录下的一级子目录扮演着重要的角色&#xff0c;每个子目录都有其特定的作用和功能。以下是常见的 Linux 根目录下一级子目录及其作用&#xff1a; /bin&#xff08;Binary&#xff09;&#xff1a; 作用&#xff1a;存放系统启动和恢复所需的基本命令&#…

基于SpringBoot高校心理教育辅导设计与实现

摘 要 随着Internet技术的发展&#xff0c;心理教育辅导系统应运而生&#xff0c;心理教育辅导系统为用户提供了一个更为便利的心理测试咨询平台。所以&#xff0c;为了充分满足高校学生心理教育辅导的需求&#xff0c;特开发了本高校心理教育辅导系统。 本高校心理教育辅导系统…

真实的软件测试日常工作是咋样的?

最近很多粉丝问我&#xff0c;小姐姐&#xff0c;现在大环境不景气&#xff0c;传统行业不好做了&#xff0c;想转行软件测试&#xff0c;想知道软件测试日常工作是咋样的&#xff1f;平常的工作内容是什么&#xff1f; 别急&#xff0c;今天跟大家细细说一下一个合格的软件测…