Спортивное программирование — работа в Москве
Дата: 2024-09-08
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2024-09-08
Описание
Язык программирования: C++ В 2030 году Очень Известная Компания выпустила новую клавиатуру. Разработчики решили избавиться от всех ненужных кнопок и оставить только кнопки с первыми A буквами латинского алфавита. Новая клавиатура пользуется большой популярностью, поэтому Петя решил научиться печатать на ней свое любимое слово (оно не содержит букв, отличных от первых A букв латинского алфавита). Петя считает, что он научился, когда на экране можно будет увидеть его любимое слово целиком (то есть найдется последовательность подряд идущих букв, образующих его любимое слово). Например, если Петино любимое слово — «apple», и на экране написано «pineappled», то любимое слово увидеть можно, а если на экране написано «mapplicе», то нельзя. Петя запустил текстовый редактор, и пытается, совершив как можно меньше нажатий на клавиши, добиться появления своего любимого слова. У Пети есть друг Вася, который хочет, чтобы Петя, напротив, совершил как можно больше нажатий на клавиши — так он лучше научится. В любые моменты (как до того, как Петя начал набирать текст, так и между нажатиями Пети на клавиши) Вася может отпихивать Петю от клавиатуры и печатать на ней что угодно. При этом ни Петя, ни Вася не могут стирать уже напечатанные символы. Суммарно Вася может сделать не более K нажатий на клавиши (не обязательно подряд), после этого Петя выгонит его из комнаты, и Вася больше никак не будет участвовать в процессе обучения. Друзья видят, что написано на экране, и знают, сколько клавиш уже нажал каждый из них. Исходя из этого и Петя, и Вася действуют наиболее оптимально. Напишите программу, которая определит общее количество Петиных нажатий на клавиши, после которого он гарантированно увидит свое любимое слово. Указание. Постройте автомат КМП и реализуйте динамическое программирование на его вершинах. Формат ввода В первой строке входного файла содержатся три целых числа: N, A, K — длина любимого слова Пети, количество кнопок на клавиатуре и максимальное количество нажатий кнопок Васей соответственно (1 <= N <= 100 000, 1 <= A <= 26, 1 <= K <= 109). В следующей строке содержится слово длины N, состоящее из строчных латинских букв — любимое слово Пети. Слово завершает перевод строки. Формат вывода Выведите одно число — искомое количество нажатий клавиш. Пример 1 Ввод Вывод 2 1 2 aa 2 Пример 2 Ввод Вывод 3 4 3 abc 9 Пример 3 Ввод Вывод 3 2 1 aab 4
Похожие заказы
Обучение Python
дистанционно
договорная
Для себя Освоить с нуля
Москва
Репетиторы
2025-05-06
Обучение C++
дистанционно
от 500.00 руб.
Для себя Написать компьютерную программу, содержащую описание классов для иерархии геометрических объектов (точка, линия, квадрат, ромб, прямоугольник, параллелограмм) с реализацией набора методов (изобразить, убрать, передвинуть, повернуть) . Проверить возможность реализации различных вариантов регламентации доступа к компонентам классов. Реализовать отождествление базовых объектов "Квадрат" для объектов "Параллелограмм" с использованием виртуального наследования. Преобразовать класс "Точка" в абстрактный класс. Проверить возможность позднего связывания для методов геометрических объектов. Реализовывать изображение фигур не нужно, только код с формулами поворота в декартовом пространстве. Выполнить данное задание и доступным языком объяснить код.
Москва
Репетиторы
2025-05-05
Обучение C++
дистанционно
от 500.00 руб.
Для себя Написать компьютерную программу, содержащую описание классов для иерархии геометрических объектов (точка, линия, квадрат, ромб, прямоугольник, параллелограмм) с реализацией набора методов (изобразить, убрать, передвинуть, повернуть) . Проверить возможность реализации различных вариантов регламентации доступа к компонентам классов. Реализовать отождествление базовых объектов "Квадрат" для объектов "Параллелограмм" с использованием виртуального наследования. Преобразовать класс "Точка" в абстрактный класс. Проверить возможность позднего связывания для методов геометрических объектов. Реализовывать изображение фигур не нужно, только код с формулами поворота в декартовом пространстве. Выполнить данное задание и доступным языком объяснить код.
Москва
Репетиторы
2025-05-05
Обучение Python
дистанционно
договорная
Для себя Меня зовут Андрей, я студент 2 курса в Высшей школе экономики. Сейчас у меня появились предметы связанные с питоном. Я, честно, в питоне плохо разбираюсь, ЕГЭ по информатике не сдавал. По одному из предметов, который с алгоритмами связан, накоп слабый выходит. Задачи я сам решить не могу, пользуюсь помощью нейросетей и друзей. В конце июня к меня должны быть экзамены, и я бы хотел за 1,5 месяца набалотыкаться, если это возможно.
Москва
Репетиторы
2025-05-05
Обучение Roblox Studio
дистанционно
договорная
Для себя Ребёнок 10 лет, ненулевые навыки в роблокс (прошёл онлайн-курс с преподавателем 1×1, создал обби, стрелялку, приключенческую игру, паркур), но не хватает понимания, как работает код, как улучшать и тестировать игру и т.д. Хочется заполнить пробелы.
Москва
Репетиторы
2025-05-05
Обучение работе с нейросетями
дистанционно
от 3000.00 руб.
Для работы Файн - тюнить gpt чат, внести базу знаний , создать свою стилистику общения, Необходимо настроить основной акк GPT чата Скормить ему доcье, сообщения, личный стиль общения чтобы он отвечал и подготавливал документы в личном стиле запроса
Москва
Репетиторы
2025-05-05