Source code of https://judge.yosupo.jp. You can get test cases of problems from this repository.
- Linux / OS X / Windows(MinGW-w64)
- python3.5+
- g++ / clang++ (Needs --std=c++14 and __int128_t)
cd /path/to/library-checker-problems
pip3 install -r requirements.txt
# or pip3 install toml colorlog markdown jinja2
ulimit -s unlimited # for linux (doesn't need for OS X and WSL)
./generate.py -p unionfind # generate testcases of unionfind
# or ./generate.py datastructure/unionfind/info.toml
ls datastructure/unionfind/in/ # testcases of unionfind
ls datastructure/unionfind/out/ # solutions of unionfind
file datastructure/unionfind/checker # binary of output checker
./generate.py -p unionfind --dev # developer mode
./generate.py -p unionfind --test # test mode (for developer, exec this command before PR)
cat datastructure/unionfind/unionfind.html # statement
./generate.py $(find . -name "info.toml" -not -path "./test/*") # generate all testcases
- If you want to test your solutions on your computer, Online Judge Tools is useful.
- If you want to use Github Actions for testing your library by our problems, Online Judge Verify Helper is useful.
- Create issue: we are very happy if you report any of our mistakes (e.g. test cases are weak, strange behavior of the site, English of statements is bad, ...). Anything others are also welcome.
- Twitter: if you tweet your trouble with hashtag #LibraryChecker, we are going to help you. The account of admin is @yosupot.
- gitter: it is the chat of this project.
- issueを立てる: githubにはissueというTODOやバグなどをメモっておく機能があります。上の Issues → New issueから作成できます。
- twitter で #LibraryChecker というハッシュタグをつけて呟いてくれると、助けに行きます。@yosupot へリプライ / DM でも大丈夫です。
- gitter というチャットみたいなものを用意しています。ここに書き込んでくれても大丈夫です
We are welcome any issues and PRs! Except minor change (e.g. add test cases, fix statements), please create an issue first.
不具合(テストケースが弱い, ジャッジが異常な挙動をする, 問題文にtypoを発見, などなど)を発見したとき、報告していただけるととっても助かります。
基本的には上に書いたようにissueを立ててもらえると助かります。 熱意がある人はCONTRIBUTING を参考にPull requestを送っていただけるととても助かります。
競プロerは必ずしもgithubに慣れているとは限らず、issue / pull request を送ったことがない人も少なくはないというのを理解しています。どれだけめちゃくちゃなものを送ってきても怒ったりこのリポジトリが壊れたりすることはないので、githubの練習がてら挑戦してみるというのもアリです(頑張ってサポートします)。
各種コンフィグファイルの仕様などは、guideline にまとまっています
- problems: library-checker-problems
- judge: library-checker-judge
- frontend: library-checker-frontend
We use testlib for verifier(input-checker) and output-checker.