Привет, Codeforces. Ниже вы сможете узнать об обновлениях в системе Polygon.
Была проделана большая работа, чтобы упростить подготовку школьных задач, в которых используются группы и баллы для тестов. Во вкладке General Information можно включить опцию проставления баллов для каждого теста. Эта опция включается сразу для всей задачи, то есть для всех тестсетов. Напомню, что тестовые группы включаются для каждого тестсета отдельно во вкладке Tests.
Баллы для групп, политики начисления баллов, зависимости
Баллы за тест, как и группы, можно проставлять в таблице со списком тестов, а также указывать их при создании нового теста. Если группа для теста появилась впервые, она автоматически будет добавлена в список имеющихся групп. Этот список представлен в таблице.
Здесь разработчик задачи может указать политику начисления баллов за группу, а также указать от каких групп зависит группа. Политика начисления баллов может быть одного из двух типов. Первый тип политики тестирования EACH_TEST
, в этом случае баллы будут начисляться за каждый пройденный тест из этой группе. Второй тип политики тестирования COMPLETE_GROUP
, в этом случае баллы за группу будут начислены только в том случае, если все тесты из этой группы пройдены.
Также теперь можно добавлять для каждой группы зависимости от других групп. Если группа A зависит от группы B, то вне зависимости от того, были ли пройдены тесты группы A, вы получите 0 баллов за все тесты этой группы, если хотя бы один тест группы B не будет пройден.
Теги для решений по группам и по тестсетам
Во вкладке Solutions появилась возможность указывать тег для каждого решения по каждому существующему тестсету, а также по каждой существующей группе. Ниже представлен интерфейс для работы с тегами.
Обновлённый запуск Invocations
При запуске Invocations теперь учитывается вся информация о тестовых группах, баллах и тегах решений по тестсетам и по группам. Баллы для каждой группы будут начислены в соответствии с проставленной для группы политикой тестирования, а также в соответствии с группами, от которых зависит текущая группа. Если решение нарушает хотя бы один из своих тегов, то invocation будет подсвечиваться красным цветом, а в подробном отчете об этом тесте доступна информация о нарушенных тегах.
Пакеты по задачам с учетом нововведений
При сборке пакетов вся информация о тестовых группах, баллах и тегах решений складывается в дескриптор задачи. Здесь вы можете найти пример дескриптора школьной задачи.
Спасибо за внимание! Надеемся, что реализованные улучшения будут вам полезны.