Ограничения: время – 200ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Для разблокировки мобильного телефона на экран выводится `K` различных символов-картинок
по кругу. Пользователь должен провести по последовательности из `L` символов,
не отрывая пальца от экрана. Чтобы последовательность-пароль нельзя было определить по следам на стекле,
символы выводятся каждый раз в разном порядке. Символ может встречаться в
пароле несколько раз, но не может встречаться в пароле подряд, так как ввод такой
последовательности невозможен. Например, допускается пароль XOX, но не пароли XOO, OOX или OOO.
Напишите программу, вычисляющую количество различных паролей длины `L`.
Первая строка ввода содержит два целых числа – количество символов `K` (`2\ ≤\ K\ ≤\ 20`) и
длина пароля `L` (`1\ ≤\ L\ ≤\ 10`).
Вывести одно целое число – количество различных паролей длины `L` из `K` символов, в которых
нет одинаковых символов подряд.
Пояснение к примеру 1: возможны следующие 12 паролей из трех букв длины 3: aba, abc, aca, acb, bab, bac, bca, bcb, cab, cac, cba, cbc.