HomeVolumesContestsSectionsForumsUsersPrintHelpAbout

Contests > OK-26 > problem:


5. Sharadmaker

OK-26

Start: Oct.29.2026 at 12:00:00 PM
Finish: Oct.29.2026 at 04:00:00 PM
The contest is finished!
• Contest scoreboard

Contest problems

• 1. Labubu
• 2. Bojarka
• 3. Winni and 4 pots
• 4. Nefor's dance
• 5. Sharadmaker
• 6. Coored socks
• 7. Two digits

Feedback

If you notice incorrect translations in Contester, please let author know.

Time limit 2000/4000/4000/4000 ms. Memory limit 65000/65000/65000/65000 Kb.

sharada

Умеете придумывать ребусы и шарады? Отлично. Вам придётся научить этому ремеслу компьютер.

Рассмотрим самый простой тип шарад. Слово, которое надо "зашарадить", составляют из нескольких слов, из которых могут быть вычеркнуты некоторые буквы. Например, ШАРАДА - это, например ШАР без вычёркиваний и ПАНДА без первой и третьей буквы, а РЕБУС - это, к примеру, РЕЯ без последней буквы и БРУС без второй. Порядок букв менять нельзя!

Программа, которую вам предстоит написать, получает слово, которое следует зашарадить, количество слов в базе и сами эти слова. Программа должна собрать слово из наименьшего количества слагаемых из базы. При этом количество вычёркиваемых букв не имеет значения, и одно слово можно использовать многократно (КУСТ можно собрать из трёх слагаемых - трёх экземпляров слова СТУК, если в базе нет иных вариантов). Вывести программа должна минимальное количество слов-слагаемых, из которых можно собрать заданное слово.

Входные данные. В первой строке - слово, которое нужно составить из слов базы с вычеркнутыми буквами. В следующей строке - натуральное число N, не превышающее 1000 - количество слов в базе. В следующих N строках слова базы по одному в строке. Все слова состоят только из строчных букв латиницы, длина исходного слова и слов базы не более 50 символов.

Выходные данные. Одно целое число, минимальное возможное количество слагаемых из базы, из которых можно составить заданное слово. Если слово составить невозможно, програма должна вывести -1.

Пример. При вводе следующих данных
october
6
spring
outumn
winter
pocket
cat
cobra
программа должна вывести 3: такой результат можно получить, использовав слова pOCeT, cOBra и wintER.

Для отправки решений необходимо выполнить вход.

www.contester.ru