hac-算法竞赛助手
hac的Python项目详细描述
hac是可扩展的和可配置的算法命令行工具 比赛。信息:
- 准备目录结构和源文件,
- 准备运行程序文件(用于测试解决方案的脚本),
- 下载测试用例。
安装
建议以非根用户身份安装:
$ pip install --upgrade --user hac
用法
例1
a)对于来自Codeforces contest #527的问题“a”、“b”和“c”,请准备:
- 来自cpp最高优先级模板的源文件(在 cpp.x语言模板,
- 来自sh.5模板的运行程序(为cpp语言模板插入),
- 从Codeforces下载的测试用例。
$ hac -lcpp -rsh.5 codeforces/527 a b c
在默认配置下,所有下一行的操作与上面的相同:
$ hac -lcpp.5 -rsh.5 prep http://codeforces.com/527/A B C $ hac prep codeforces.com/527 B 1 c $ hac -d2 CODEFORCES/527 123 $ hac forc/527 a b c
b)为问题“b”编写解决方案并在测试用例上测试它:
$ cd527/B $ # ... modify B.cpp $ ./B.cpp.sh -e # test solution on test-cases $ ./B.cpp.sh -c # clean generated outputs
c)第二个测试用例上问题“b”的调试解决方案:
$ ./B.cpp.sh -d 2
例2
显示有关hac的常规信息:
$ hac --help $ hac --version
显示有关hac和所选站点/问题的信息:
$ hac -v show codeforces/527 # verbose $ hac -V show codeforces/527 # terse
支架
站点:
Site \ Fetching problems from | Contest | Archive |
---|---|---|
Codeforces.com | YES | NO |
Rosalind | YES | |
Sphere online judge | PARTIAL | |
Codechef | NO | NO |
runner/语言组合:
C | C++ | Python | Java | Pascal | |
---|---|---|---|---|---|
POSIX shell | sh.5 / c.5 | sh.5 / cpp.5 | sh.5 / py.5 | sh.5 / java.5 | sh.5 / pas.5 |
配置
用户特定的配置应该放在~/.config/hac目录中 默认(要更改配置目录,需要设置HAC_CONFIG_DIR 环境变量)。
为了根据您的偏好配置hac:
- 将默认配置文件复制到临时目录中,
$ HAC_CONFIG_DIR=~/temp_config hac --copy-config
- 在~/temp_config, 中自定义感兴趣的文件
- 仅将自定义的文件移动到~/.config/hac,例如
$ mkdir -p ~/.config/hac $ cp ~/temp_config/hacrc ~/.config/hacrc
- 删除临时目录。
$ rm -r ~/temp_config
这种方法是可取的,因为只有与 默认值应该出现在配置目录中,因此 有效地掩盖了默认配置。
更改日志
请看CHANGELOG。
许可证
请看LICENSE。