时间:2025-10-27 18:39
人气:
作者:admin
Tuack,是一个由来自 THU 的大佬 Mulab11 开发的,用于造算法竞赛题目的工具。
你可以用它:
因为 Tuack 基于 Python 3,所以你需要事先安装 Python
如果你安装了 Python 的包管理器 pip,你可以直接使用 pip 安装 Tuack 的最新稳定版。
pip install tuack
如果你没有安装 pip,可以使用下列方式安装:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
setup.py+pip如果你需要安装正在开发的版本,或某些原因无法使用 pip,可以使用这样的方法:
先在本地 git clone Tuack 原工程,或下载并解压工程。然后在本工程的主目录下运行下列命令(其中 ??? 是版本号)
python setup.py sdist
pip install dist/tuack-???.tar.gz
setup.py在本地 git clone Tuack 原工程,或下载并解压工程。然后运行
python setup.py install
这个方法不会自动安装依赖,因此不推荐。如果你长期使用 Tuack,并且要快速切换成最新的开发版本时可以使用这个方法。在具体的使用中你需要手动安装报错的库。
为了正常使用 Tuack,你可能需要手动安装如下应用:
明显地,你需要先新建一个文件夹专门用于你的比赛。
打开 cmd,将操作路径改为你的比赛的路径,方法为 cd <DIR>,<DIR> 在这里代之你的比赛文件夹的路径。
使用 python –m tuack.gen contest 命令创建比赛
使用 python –m tuack.gen day day0 [day1]...[dayn] 命令创建比赛日([xxx] 指你可以额外输入 xxx 的参数,但也可以不用。这里指你可以选择创建这个比赛日,也可以不用)
进入比赛日的文件夹,方法同 Step 2,<DIR> 在这里应该是 dayX,其中 X 是一个整数
使用 python –m tuack.gen problem A [B] [C]... 命令创建若干个分别名为 A,B,C... 的题目,其中的名字不一定要是 A B C 这些字符,但似乎(?我没测过)要用英文名
进入题目的文件夹
编辑 statement 文件夹下的 zh-cn.md 以修改中文题面,如果你要多语言则在 statement 文件夹下创建 en.md 表示英语题面等。可以适当看一下它的 zh-cn.md 里的内容,Tuack 有些东西的渲染方式和一般的 \(\mathrm{Markdown}\) 不一样。
放样例放在 down 文件夹,放表格放在 tables 文件夹,其它的可以参考自动生成时的 zh-cn.md。
回到你的比赛总文件夹,然后使用 python –m tuack.ren noi –o Linux 指令渲染题面,如果不是生成 CCF 风格的题面,可以把 noi 换成 tuoi,tupc,ccpc,ccc-tex,tuoj,ccc-md,loj,uoj,tsinsen-oj,thuoj 之类的风格,具体可以看 官方 Wiki。对于 -o 后的操作系统,可以换成 Linux、Windows 和 Darwin(MacOS)的其中之一
本人也只是刚开始用 Tuack,如有误或者有待补充的地方,欢迎在评论区告知我。