Ограничения: время – 2s/4s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
При расследовании дорожно-транспортных происшествий
часто возникают проблемы с розыском автомобилей, водители
которых покинули место происшествия.
Получение свидетельских показаний — непростая работа.
Ситуация осложняется тем, что очень часто свидетели могут
только приблизительно вспомнить номер автомобиля.
При этом с большой вероятностью опрашиваемый может
перепутать порядок цифр или букв в номере.
По полученному от свидетеля происшествия номеру, подсчитайте,
сколько различных номеров может получиться из него перестановкой
букв и/или цифр, а также выведите все такие номера.
Напомним, что автомобильные номера в России состоят из трех
букв и трех цифр, упорядоченных следующим образом: буква,
три цифры, затем две буквы. Фрагмент номера, который идентифицирует
регион, в котором зарегистрирован автомобиль, мы будем игнорировать.
В номере могут использоваться следующие буквы:
'A',
'B',
'C',
'E',
'H',
'K',
'M',
'O',
'P',
'T',
'X',
'Y'
(эти буквы имеют схожие по написанию аналоги как в русском, так и в латинском
алфавите). В этой задаче во входном файле будут использоваться
буквы латинского алфавита.
Ввод
Входной файл содержит одну строку, которая представляет собой корректный
автомобильный номер.
Вывод
В первой строке выходного файла выведите число `k` — количество номеров,
которые могут получиться из заданного перестановкой букв и/или цифр.
В последующих `k` строках выведите все такие номера в произвольном порядке.
Пример вывода
9
X277XK
X277KX
X727XK
X727KX
X772XK
X772KX
K277XX
K727XX
K772XX
Источник: VI Всероссийская командная олимпиада школьников по программированию, 2005