sycu/task-solver

此软件包最新版本(v0.1.5)没有提供许可信息。

v0.1.5 2022-12-23 01:42 UTC

This package is auto-updated.

Last update: 2024-09-23 05:27:05 UTC


README

PHP 竞赛编程框架

这是一个任务求解器的应用程序框架。如果您想将其作为库使用,请查看sycu/task-solver-core 仓库。

设置

composer create-project sycu/task-solver my-project

配置

修改 config.php 以满足您的需求。

运行测试并获取解决方案

您可以通过提供 [FILTER] 参数(正则表达式)来过滤任务。

php solve [FILTER] [OPTIONS]

选项

  • solutions - 跳过测试,只计算并返回解决方案。目前仅在 FILTER 参数后有效,但您可以通过传递空字符串作为解决方案。

示例

php solve
php solve Day5
php solve "Day[0-9]{1,2}B"
php solve "Day[3-6]B" solutions

示例输出

$ php solve "Day([5-9]|10|11)"

Day5A:	.         Solved in 0.000s: FJSRQCFTN
Day5B:	.         Solved in 0.000s: CJVLJQPHS
Day6A:	.....     Solved in 0.001s: 1766
Day6B:	.....     Solved in 0.001s: 2383
Day7A:	.         Solved in 0.000s: 1428881
Day7B:	.         Solved in 0.000s: 10475598
Day8A:	.         Solved in 0.006s: 1809
Day8B:	.         Solved in 0.007s: 479400
Day9A:	.         Solved in 0.003s: 6181
Day9B:	..        Solved in 0.009s: 2386
Day10A:	.         Solved in 0.000s: 13480
Day10B:	.         Solved in 0.000s:
####..##....##.###...##...##..####.#..#.
#....#..#....#.#..#.#..#.#..#.#....#.#..
###..#.......#.###..#....#....###..##...
#....#.##....#.#..#.#.##.#....#....#.#..
#....#..#.#..#.#..#.#..#.#..#.#....#.#..
####..###..##..###...###..##..#....#..#.
Day11A:	.         Solved in 0.002s: 108240
Day11B:	.         Solved in 0.954s: 25712998901

生成新任务

它将在 tasks/ 目录中创建任务数据,您需要填写这些数据。实际的代码模板将位于 src/Tasks/

php generate KEY

示例

php generate Day12A

需要填写的文件(假设 Day12A 是任务密钥)