MyWackoSite : NsuTs/Documentation/devguide/scoresystem

Прототип модуля оценки решений участников


В правилах проведения некоторых школьных (и не только) олимпиад часто встречаются задачи с нетривиальной оценкой решений, например, на открытой олимпиаде по программированию или Всероссийской олимпиаде.

На основе правил некоторых олимпиад, проводящихся в eps-окрестности Новосибирска предложен следующий синтаксис описания правил оценки.



Пример: набор тестов состоит из двух групп: group0 и group1, group1 зависит от group0. Тогда балл за group1 учитывается только при ненулевом балле за group0.


Пример.
Количество тестов = 53.
Сумма баллов = 100.
Группа 0. Тесты из условия (3 теста), оцениваются нулем баллов.
Группа 1. Тесты для n<=10 (10 тестов), оцениваются из 20 баллов, ненулевой балл выставляется при прохождении всех тестов группы. Зависит от группы 0.
Группа 2. Тесты для 10<n<10^3 (20 тестов), оцениваются из 40 баллов, ненулевой балл выставляется при прохождении всех тестов группы. Зависит от группы 0.
Группа 3. Тесты для 10^3<n<10^4 (10 тестов), оцениваются из 20 баллов, ненулевой балл выставляется при прохождении всех тестов группы. Зависит от группы 0.
Группа 4. Отдельные “плохие” случаи на переполнение/time limit/memory limit (10 тестов), оцениваются из 20 баллов, ненулевой баллов выставляется при прохождении ненулевого числа тестов группы. Зависит от групп 1,2,3.

Сюда вставить граф зависимостей

evaluation.cfg
pre = group0; //группа тестов для предпроверки
tests = 53;
group0.set = 0..3;
group0.score = 0;
group0.eval = 0;
group0.dependents = none;
group1.set = 4..13;
group1.score = 2;
group1.eval = 1;
group1.dependents = group0;
group2.set = 14..33;
group2.score = 2;
group2.eval = 1;
group2.dependents = group0;
group3.set = 34..43;
group3.score = 2;
group3.eval = 1;
group3.dependents = group0;
group4.set = 44..53;
group4.score = 2;
group4.eval = 1;
group4.dependents = group1 AND group2 AND group3;

Описание модулей


См также

В версии nsuts 1.2.8.1 используется более простая система оценки