Всем привет!
Уже завтра, пятого апреля 2017, в 18:35 по московскому времени состоится первый Уайлд-кард раунд VK Cup 2017. Кроме того, в это же время состоится неофициальная трансляция этого соревнования, в которой могут принять участие все желающие.
Раунды будут проведены по особым правилам и будут нерейтинговыми. Задачи были подготовлены командой Codeforces.
В официальном раунде команды будут бороться за последний шанс попасть во второй раунд чемпионата, для этого необходимо попасть в 50 сильнейших команд.
Подробности правил будут размещены в этом посте за 30 минут до начала раунда. Пока лишь скажем, что после раунда будет фаза открытых взломов продолжительностью в одни сутки, по аналогии с образовательными раундами Codeforces.
Правила раунда:
Вам предстоит почти обыкновенный раунд по правилам ACM ICPC. Будут предложены 12 несложных задач на 2 часа. Набор тестов для задач на время раунда содержит базовые тесты (но они значительно сильнее претестов традиционных раундов). После окончания раунда у вас будет 24 часа для поиска тестов против чужих решений, аналогично традиционным образовательным раундам. По завершению фазы открытых взломов мы добавим все успешные взломы и перетестируем все решения. Только после этого результаты раунда буду объявлены окончательными.
Основное отличие от традиционных раундов состоит в следующем специальном правиле.
Каждую задачу вы можете сдавать только на своем одном (и отличном от других) языке программирования. При этом разные компиляторы/диалекты языка будут считаться одним языком. Например, компиляторы GNU G++, GNU G++ 11, GNU G++ 14 и MS C++ - это один язык (группа языков) C++. Таким образом, во время раунда вам предстоит не только решить задачи, но и попробовать базово изучить новые языки. Мы не рассчитываем, что вы знаете 12 разных языков. Наверняка, вам придется быстро вникнуть во что-то новое, изучив основной синтаксис других языков за время раунда.
Формально, отсылая решения будет произведена следующая дополнительная проверка:
- Если по этой задаче есть хотя бы одно непротестированное решение или решение, которое прошло хотя бы один тест, на другом языке, то ваше решение принято не будет. Таким образом, если решение прошло хотя бы один тест, то задачу можно сдавать только на этом же языке.
- Если по другой задаче есть хотя бы одно непротестированное решение или решение, которое прошло хотя бы один тест, на этом языке, то ваше решение принято не будет. Таким образом, использованный язык нельзя больше использовать для другой задачи.
Напоминаем, что у вас есть возможность (например, в архиве) выбрать просмотр всех успешных попыток по задачам предыдущего раунда и отфильтровать их по конкретному языку. Так вы сможете ознакомиться с примерами решений на любом из поддерживаемых языков. Кроме того, таблица ниже содержит разбиение конкретных компиляторов по языкам (группам языков) и ссылки на примеры исходных кодов на этих языках.
Во время раунда вы можете использовать вкладку "запуск" для тестирования своих решений, если интересующий вас компилятор у вас не установлен локально.
Группа языков | Языки программирования / компиляторы | Примеры |
C | GNU C, GNU C11 | 10903473, 17029870 |
C++ | GNU C+, GNU C++11, GNU C++14, MS C++ | 23794425, 5456501 |
C# | Mono C#, MS C# | 3195513, 3794163 |
D | D | 5482410, 2060057 |
Go | Go | 7114082, 21366098 |
Haskell | Haskell | 455333, 1668418 |
Java | Java 8 | 25491359, 23678167 |
JavaScript | V8 | 6174887, 5743720 |
Kotlin | Kotlin | 25779271, 25204556 |
OCaml | OCaml | 6157159, 1281252 |
Pascal | Delphi, FPC | 1275798, 1259434 |
Perl | Perl | 2519448, 1277556 |
PHP | PHP | 413942, 4475965 |
Python | Python 2, Python 3 | 4432133 (Py2), 15729882 (Py3) |
Ruby | Ruby | 1837970, 1289551 |
Rust | Rust | 25180002, 24643411 |
Scala | Scala | 22577830, 2456025 |
Кроме того, основные правила формата ACM ICPC: каждая задача может быть либо полностью решена (если решение проходит все тесты), либо не решена. Участники в результатах располагаются по убыванию числа решенных задач, при равенстве числа решенных задач~--- по штрафному времени. Штрафное время вычисляется как сумма по каждой решенной задачи времени, прошедшего с начала раунда до времени решения этой задачи, в минутах, плюс 20 минут за каждую неудачную попытку по каждой из решенных задач. Обратите внимание, что задачи не расположены в порядке возрастания сложности. Кроме того, вы можете перепосылать решение, даже если оно прошло все тесты, так как после окончания фазы открытых взломов будет добавлено больше тестов.
Удачи!
Разбор
Фаза открытых взломов завершена, решения протестированы. Поздравляем победителей!
Официальный раунд:
- StarScreamOwl, ednotdead
- VernitaGreen, svxf
- gars, Provet
- Me-and-Myself, ultizet
- svetlana_lana, GoldenMan
Открытое зеркало:
- Lewin
- oversolver
- uwi
- ifsmirnov
- Tinsane