- added assets directory
- added origin notes dictionary to metadata
- prefixed version by "v", migrated to semantic versioning 3 numbers
- added concept of ids to tests and examples
- when parsing default file ids are assigned by lex order of filenames
- test default ids can then be overriden by
test_id_overwritetable - tests in test group can be specified by ids instead of filenames
- ids dictate the order in which tests are run
Motivation: filenames don't make much sense in systems where the filesystem is abstracted away. This change also decouples test ordering from filesystem ordering. It also makes toml files more readable.
problem.toml spec
- added
test_id_overwrite(string to int map) - added
test_idstotest_groupsobject
problem.toml spec
- added
visible_input_subtasks(int array) field.
Motivation: some subtasks have visible input to motivate solvers to attempt test cases on paper / in their head without developing an algorithm.
problem.toml spec
- added
test_groupsobject array.test_groupsobject:group_id(int)points(int)subtask(int)public(bool)test_filenames(string array)
Motivation: test groups are a concept used in Latvia's informatics olympiad. Each test group belongs to a subtask who's scoring is described in statement.
problem.toml spec:
task_namemetadataproblem_tagsdifficulty_1_to_5task_authorsorigin_olympiad
constraintsmemory_megabytescpu_time_seconds
directory structure:
summa
├── evaluation
│ └── checker.cpp
├── examples
│ ├── 001.in
│ ├── 001.out
│ ├── 002.in
│ └── 002.out
├── problem.toml
├── statements
│ └── md
│ └── lv
│ ├── input.md
│ ├── output.md
│ └── story.md
└── tests
├── 001.ans
├── 001.in
├── 002.ans
├── 002.in