#P4. Hydro 目前导入 SYZOJ/SYZOJ-NG 题目方法

Hydro 目前导入 SYZOJ/SYZOJ-NG 题目方法

当前没有测试数据。

目前,Hydro 因为某种原因(据 undefined 所说,是因为 LOJ 数据下载 API 太慢?)取消了 LOJ 题目的直接下载导入方式。取而代之的,是 loj-download 的使用,但方法对小白可能过于复杂。本篇文档将带您学习 loj-download 的使用方法。

一:下载

下载很简单,因为不需要其余步骤,只需要 clone 或下载安装包即可。

您可在下载 Git 命令的情况下使用 git clone https://github.com/hydro-dev/loj-download.git 在您选中的文件夹下 clone 源码。

或您有其他需求,可以选择 此下载链接 ,下载源码压缩包。

若您使用 zip 下载,请您通过 unzip 命令手动解压(具体操作请您尝试百度);若使用 Git 命令,Git会自动帮您解压到/您选中的文件夹/loj-download 目录下,即您可忽略此步骤。

二:使用

由于 js 文件需要下载依赖,所以您不能立即运行。

请您在使用前回到命令行,并使用 cd 命令回到 loj-download 文件夹内,使用 yarn 命令下载所需依赖。

若提示您未安装 yarn 命令,请您使用 npm install -g yarn 安装 yarn

耐心等待依赖安装完成后,请您再次 cd/您选中的文件夹/loj-download/bin 目录下,并执行以下命令:

node loj-download.js https://您需要拷贝的题目的网址

执行完成后,请耐心等待题目拷贝完成。

若您第一次下载未完成,请不要急于寻求帮助,可能是运行或 web连接 问题,请先重复执行几次该命令。具体如下:

多安装几次

三:导入

运行完成后,您可在 /您选中的文件夹/downloads/题目来源网址/对应题号 下找到对应网址所下载的题目。

题目位置

导入方法1:压缩包导入(推荐方法)

Hydro 支持 loj-download 模式下导入题目的格式,所以您可直接按照以下步骤导入您下载的题目。

首先,请您回到 /您选中的文件夹/downloads/题目来源网址 目录下,里面应该会含有您在该网站下载的题目。

题号

Hydro 的题目导入支持一个压缩包内含有多个题目。您需返回上一级目录,执行 zip -r 你想要的标题.zip 您需要的目录/ 或多个目录/ 命令,将该文件夹或多个题目的文件夹压缩成 .zip 格式的压缩包。这里我拿来演示的题号是 2088 和 3,如下图:

压缩包格式

我们可以看到,这里已经将两个题目的目录成功压缩到名为 a.zip 的压缩包中了。

下一步,您需要想办法下载这个文件夹到本地。您可采用链接服务器的相关软件进行该操作。

接下来,您只需要将该压缩包直接使用 从 Hydro 导入 导入进您的题库即可。

注:返回上一级目录是必要操作,否则会影响导入题目功能的正常读取。

导入方法2:普通导入

普通导入理解上会相对简单,但是步骤较多,操作复杂。

若要拷贝题面,请进入对应目录,选中 problem_zh.mdproblem_您需要的语言.md 并打开,复制所有内容。

回到您的 OnlineJudge ,单击“新建题目”,粘贴您刚复制的内容,并根据需要在 problem.yaml 中拷贝您需要的题目标签,并按照“新建题目”中的关于标签的添加格式添加即可。