Time limit 2000/4000/4000/4000 ms. Memory limit 65000/65000/65000/65000 Kb.
gadukin
Шпион Гадюкин обменивается с резидентом Кобриным шифрованными
сообщениями с помощью вывешенных на бельевой верёвке на балконе
цветных носков. Каждому символу соответствует комбинация из 3
носков. Носки у Гадюкина четырёх цветов: красные, зелёные, синие
и белые (обозначим их "r", "g", "b", "w"). Значения троек носков
неизвестны. Разным тройкам носков соответствуют разные символы,
одинаковым - одинаковые.
Контрразведчик-любитель Бдюкин пытается расшифровывать носочные
сообщения. Иногда ему удаётся из других источников получать
возможные тексты сообшений. Но какой текст может соответствовать
именно конкретному набору носков?
Разработайте программу, которая из возможных вариантов расшифровки
выбирает те, которые могут соответствовать заданной комбинации
носков.
Входные данные. В первой строке - зашифрованное сообщение,
строка из не более чем 300 символов r, g, b и w. Вторая строка -
натуральное число N, количество возможных вариантов расшифровки,
натуральное число, не превышающее 100. В последующих N строках -
варианты расшифровки, строки, которые могут содержать строчные и
прописные буквы латиницы, цифры и пробелы.
Выходные данные. Все возможные варианты расшифровки
сообщения (по одному в строке) в том порядке, в каком они
вводились, затем в отдельной строке их количество.
Пример. Для такого набора входных данных
rrrwgbrrr
7
byte
wow
log
101
Ogo
q q
13
программа должна вывести вот что:
wow
101
q q
3
Для отправки решений необходимо выполнить вход.
|