Спортивное программирование — работа в Москве
Дата: 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
Похожие заказы
Обучение Java
дистанционно
договорная
Для работы Не хватает знаний основ программирования, практики, насмотренности, делать много чего умею, а вот объяснить вообще не могу и по большей части даже не понимаю, что именно я сделала, чтобы всё работало Изначально изучала язык только для автотестирования, поэтому в голове есть только база для написания автотестов (юнит, ui, api), а хотелось бы уметь писать код с нуля не в рамках тестирования.
Москва
Репетиторы
2024-11-05
Обучение созданию нейросетей
с выездом или дистанционно
договорная
Для работы Научиться пользоваться, чтобы можно было использовать в учебе, анализ информации и решение задач
Москва
Репетиторы
2024-11-05
Обучение SAP ERP
дистанционно
от 1000.00 руб.
Для себя Обучение системе Sap FI/CO Учет и формирование отчетности
Москва
Репетиторы
2024-11-05
Обучение Python
дистанционно
договорная
Для себя Обучение с нуля
Ростов-на-Дону
Репетиторы
2024-11-05
Обучение Python
дистанционно
от 500.00 руб.
Для себя Ищу ОПЫТНОГО разработчик на Python для помощи мне в отладке кода торгового бота для биржи Bybit. Основные задачи: - помогать исправлять ошибки в процессе написания кода (я только прошел обучение), поэтому нужно это делать оперативно - помогать в реализации отдельных сложных блоков алгоритма кода для ботов - сопровождать в процессе появления ошибок в работе бота на бирже, оперативно помогать исправлять Только опытным разработчикам Python на криптовалютных биржах. Пишите, обсудим условия
Москва
Репетиторы
2024-11-04