An open API service indexing awesome lists of open source software.

https://github.com/ultmaster/hypercube

Professional platform for preparing problems and testing solutions
https://github.com/ultmaster/hypercube

online-judge sandbox toolkit

Last synced: 4 months ago
JSON representation

Professional platform for preparing problems and testing solutions

Awesome Lists containing this project

README

          

# Hypercube

## 动机

Hypercube 是 EOJ Polygon 的升级版,这是一个专门用来开发题目、测试代码的工具。其前身,
Polygon,以其 bug 之多、不稳定、功能复杂而臭名昭著,而且有很多功能都没有实现,比如交互题、捆绑测试等等。

根据计划,Hypercube 是一个在本地运行的工具。运行方式很像是 jupyter-notebook:需要在本地运行一个服务器,
然后在浏览器中进行操作。我们可以使用 `git` 将本地生成好的题目传到服务器上,也可以进行版本控制。

传到服务器上的题目,会被放置在题目仓库中。要使更新生效,要在 OJ 题目的页面上点击「更新题目」,才会更新题面、
判题数据等一系列内容。所以这一更新其实与可能会发生的判题机(沙箱)重写并不相干,而且目前看来沙箱的重写计划很有可能摸了。

## 要实现的 Feature

* 写题面(Markdown 预览),目前看来不需要支持多份题面
* 但是要支持自定义 Section
* 可能要支持 Markdown, TeX, HTML 三种创作格式
* 管理数据(调换顺序、快速删除、快速编辑等等)
* 运行:
* 方便快速地生成输入文件
* 方便快速地用标程生成输出文件
* 对拍(暴力测试)
* 横向、纵向比较多份提交在各测试点上的性能
* 验证输入合法性
* 跑交互题
* 支持捆绑测试
* 还是要支持那种不推荐使用的填空题(因为沙箱重写摸了)
* 可能要支持导出成 ProblemArchive
* 现在设计的格式是一个 `problem.xml` 加若干文件下,和 Codeforces Polygon 更像

## 开发

使用 Spring Boot + React (Material-UI) 进行开发。

这东西我从来没用过,所以可能会写出一些相当诡异的东西来。

## 跳票

跳票是不可能跳票的,顶多拖个一两年。