Завершился последний отборочный тур Кубок России по Кодексу .
Лучшие 600 участников прошли в полуфинал, отборочный тур.
16 июня мы будем наблюдать за битвой умов, когда пятьдесят победителей выйдут в финал, где разыграют 18 000 долларов.
В этой статье я подробно разберу задачи, которые были предложены на третья квалификация .
Этот материал должен быть полезен как тем, кто делает первые шаги в спортивном программировании, так и участникам, не сумевшим решить все пять задач.
Также добро пожаловать в два предыдущих анализа: с первый И второй квалификации.
Отличная задачка с расчетом минимального количества негатива на одного чиновника от посетителей из очереди, про часы, покрытые краской, про недоеденный шоколад - постараюсь поделиться с вами удовольствием от разбора этих замечательных задач.
Задания отборочного тура станут заметно сложнее и еще интереснее.
Приходите «болеть» 16 июня в 11:00 на сайте RussianCodeCup.Ru. «Шоколад» В задаче «Шоколад» нужно было определить, можно ли из двух «половинок» квадратной шоколадки собрать целую шоколадку.
На вход подается построчный «разверт» — ширина в срезах попеременно левой и правой половины каждой «строки».
Необходимо ответить, есть ли недостающий кусочек: «да» означает, что такая вещь найдена, а «нет», если все в порядке.
Подробное описание проблемы смотрите на официальном сайте RussianCodeCup.ru Очевидно, что если какая-либо пара «ширина левой половины» — «ширина правой половины» не дает в сумме n — ширины шоколадки, напишите «да».
Как и в первых двух квалификациях, первое задание было самым простым и его нужно было выполнить максимально быстро и с первой попытки.
Лучшим результатом Геннадия Короткевича стала 1 минута 40 секунд со старта раунда.
Этого времени хватило, чтобы внимательно прочитать задачу, написать и протестировать программу и отправить ее на сервер.
«Игра» По условиям задачи необходимо найти победителя в простой игре, в которой игроки поочередно передвигают одну фигуру по бесконечному полю.
Необходимо, используя известные координаты стартовой позиции и цели, куда нужно подвести фигуру, а также числовой параметр, связанный с дальностью хода фигуры, сообщить об исходе игры и номере ход, на котором заканчивается игра и чей последний ход в ней был, или вывести Бесконечность, если игроки могут играть бесконечно.
Подробную постановку задачи смотрите на официальном сайте RussianCodeCup.ru Очевиден самый простой вариант, когда игра заканчивается за один ход первого игрока - когда цель и стартовая позиция находятся на расстоянии меньшем или равном заданному диапазону хода.
Ключевое решение этой проблемы — доказать, что во всех остальных случаях игроки могут играть бесконечно, если ни один из них не сделает неверных ходов.
Первый не может выиграть иначе, как первым ходом, потому что за каждый ход первого второй может вернуть фигуру обратно, чтобы не проиграть.
Второй тоже не может выиграть, потому что на каждом ходу второго первый может вернуть второго на место, чтобы не проиграть.
В результате решение проблемы оказывается предельно простым – в одном ходе отображать победу первого игрока, если расстояние между точками меньше или равно заданному диапазону хода, а в остальных отображать «Бесконечность».
случаи.
«Часы» В задаче необходимо найти количество различных положений стрелок в момент остановки часов.
По условию циферблат может быть открыт лишь частично, и если в момент остановки одна из стрелок или обе стрелки попадают в открытый сектор, то их положение становится известно, но тем самым число возможных вариантов сужается.
Также известно, что положения часовой и минутной стрелок, как и в настоящих часах, напрямую зависят друг от друга.
Вам нужно найти количество вариантов стрелок.
Полное изложение проблемы со всеми подробностями доступно на сайте.
RussianCodeCup.ru Сначала подготавливаем набор значений положений минутной стрелки.
Теги: #Алгоритмы #спортивное программирование #кубок по русскому коду #кубок по русскому коду #кубок по русскому коду #russiancodecup
-
Adwords Догнал «Бегун»
19 Oct, 24 -
Код Вселенной
19 Oct, 24 -
Подходы К Контролю Доступа: Rbac Против Abac
19 Oct, 24 -
Беспроводное Электричество
19 Oct, 24 -
Иногда Поднимай Задницу Со Стула
19 Oct, 24 -
Морской Бой Как Задача Распознавания
19 Oct, 24