Skip to content

wasm-oj/problems

Repository files navigation

WASM OJ Systems Problems

Forty-five original systems-algorithm problems derived from the engineering of a deterministic, browser-capable WebAssembly online judge.

The collection is consumed by WASM OJ Forge and is also a documented public format for compatible browser judges.

Every problem contains complete Traditional Chinese and English statements and editorials, explicit constraints, deterministic text I/O, sample and adversarial cases, a validator, generator, independent oracle, and optimal reference solutions in C17, C++20, Rust, Go, Python, JavaScript, and TypeScript.

Repository and GitHub API consumers start from catalog.json. It explicitly lists every problem manifest; each manifest explicitly lists all localized documents, programs, solutions, and tests, so clients never infer paths from the filesystem layout. See docs/MANIFEST.md.

learning-path.json defines the learner-facing order and localized track names separately from those stable manifest identities. The current path groups related topics, then orders each group from lower prerequisite load to more advanced techniques. This keeps calibration evidence and source paths stable while allowing display numbers to evolve.

Browser judges should use collection/index.json. The small index contains localized display and track metadata, explicit localized statement paths, and one integrity-addressed bundle descriptor per problem. Clients can render the catalog immediately, then fetch full documents and cases only when a learner opens that problem. See docs/BROWSER_COLLECTION.md.

Scoring is cost-first. Every stored case runs once and is evaluated against cumulative baseline, efficient, and optimal instruction/memory policies. The optimal instruction budget is derived from the C, C++, Rust, and Go worst-case average with 5% headroom and deterministic readable rounding. Calibration evidence lives under calibration/forge-v1.

Verification

make verify

Regenerate browser artifacts after any problem content changes:

make collection
make verify

About

Bilingual algorithm problem collection for WASM OJ Forge

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages