当前位置: 首页 > news >正文

编程对拍助手 autohack-next

一个高度自定义的竞技性编程 Hack 工具,由 github 用户 gi-b716(洛谷用户 GavinCQTD)使用 Python 编写,并在 github 上开源。持续更新中。

:::warning[叠甲]

本文的写作经过 autohack-next 的作者洛谷用户 GavinCQTD 同意。

以下为我与他的聊天记录截图:

:::

安装

方法 \(1\)

autohack-next 作为包发布在了 PyPI 上,使用 Python 包管理器安装即可。

具体的,如果你有 Python 且版本不小于 \(3.13\),可以使用 Python 包管理器安装 autohack-next。

Python 包管理器有很多种,这里以 pip 为例;如果你需要安装正式版 autohack-next,可以在终端输入:

python -m pip install autohack-next

如果你想要体验预发布版本,则键入:

python -m pip install -i https://test.pypi.org/simple/ autohack-next

方法 \(2\)

可以前往 github 的 Assets 条目下下载,若国内访问过慢,也可通过 <这里未来会挂一个蓝奏云链接,应该> 下载。

解压后的文件以 autohack 的可执行文件为主体。可将其放到系统环境变量下便于使用。

使用

在待对拍目录的终端中运行如下命令:

autohack

或:

python -m autohack

第一次运行时,会在当前目录生成 .autohack 文件夹并退出。

如果运行报错,请检查是否按照安装方法成功安装,如果确认可以私信作者报告问题。

在成功运行后,请查看并调整 .autohack/config.json 中设置后再次运行。

:::info[]{open}

默认设置中,source.cpp 是待检查解法,std.cpp 是保证正确的解法,generator.cpp 是数据生成器。三者都不需要使用文件输入或输出。

三个文件需要建立在同一目录下,在该目录的终端中键入 autohack 使用。

:::

注意在运行 autohack 的时候你需要保证 g++ 文件在系统环境变量中,或可以通过修改编译命令导入 g++ 路径。

如果使用其它编译器(如 clang++)只需修改 config.json 中的设置。

Checker 自定义

如果您的对拍不需要使用 Checker 可以跳过这一部分,默认值帮您解决了一切。

特殊地,有几种内置 checker。如需修改,请在 config.json 中修改。

  • builtin_basic默认值,全文比较输出与答案,忽略行末空格与文末换行。
  • builtin_always_ac:测试用,永远返回 Accepted。
  • builtin_testlib:用于支持 testlib。将使用 testlib 完成的 checker.cpp 放在 checkers 文件夹内,并在 "args" 选项中添加编译 checker.cpp 的编译选项。例如我在 args 中添加了 {"<选项 A>", "<选项 B>"},autohack-next 将用 g++ checker.cpp <选项 A> <选项 B> 来编译 checker。

后记

如果您发现了 autohack-next 的 bug 或想提出修改建议,可以报告给作者。您可以选择以下三种渠道之一:

  • 在本文评论区中评论。
  • 洛谷私信作者。
  • 在 github 上提出 issue。
http://www.jsqmd.com/news/482417/

相关文章:

  • 如何优化大数据领域的数据建模流程
  • MinIO 分布式高可用部署
  • 征程 6P codec decoder sample
  • UV 下载与安装指南
  • Linux全网备份项目与NFS存储服务实战全攻略
  • 16 Nginx服务的信号控制
  • Linux Rsync备份服务实战全攻略
  • AI Coding 从“抽盲盒”到“开火箭”:SDD+TDD 开发模式实战揭秘
  • Problems(大纲)
  • React15 - React Redux组件模式性能对比
  • 3月15日(进阶6)
  • AI 不会先杀死 SaaS,但会先杀死 SaaS 的旧玩法
  • 最强生图模型NanoBanana 2,一手深度测- 附教程
  • Agentic LLM工作流在钻井日报分析中的应用
  • C# switch case 的极限教程
  • Kali Linux渗透测试与网络攻防实验靶场
  • TODO:Swagger基本使用
  • tmux中文变横线问题
  • 深入理解 HashMap 扩容流程:从 1.7 到 1.8 的演进与细节解析
  • React15 - react-redux 中bindActionCreators的作用
  • Sqlite“无法加载 DLL“e_sqlite3”: 找不到指定的模块”解决方法
  • React15 - React-Redux 在React 15中的使用和工作原理
  • VSCode + Copilot:打造你的超级开发环境
  • React15- React-Redux 在React 15中的使用和工作原理
  • Redux - React-Redux 在React 15中的使用和工作原理
  • 提示工程中的“虚假宣传”问题:架构师的道德与法务责任
  • Redux - react-redux 的工作原理和使用
  • 让 AI 成为你的鸿蒙开发助手:harmonyos-build-deploy Skill 完全实战指南
  • 彼得林奇如何分析公司的用户增长质量
  • 结构变异检测技术:从read-pair、split-read到组装方法的综合策略