printРабочее место участника

printЗадачи

2406. Пароль

Ограничения: время – 200ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Для разблокировки мобильного телефона на экран выводится `K` различных символов-картинок по кругу. Пользователь должен провести по последовательности из `L` символов, не отрывая пальца от экрана. Чтобы последовательность-пароль нельзя было определить по следам на стекле, символы выводятся каждый раз в разном порядке. Символ может встречаться в пароле несколько раз, но не может встречаться в пароле подряд, так как ввод такой последовательности невозможен. Например, допускается пароль XOX, но не пароли XOO, OOX или OOO.
Напишите программу, вычисляющую количество различных паролей длины `L`.
Первая строка ввода содержит два целых числа – количество символов `K` (`2\ ≤\ K\ ≤\ 20`) и длина пароля `L` (`1\ ≤\ L\ ≤\ 10`).
Вывести одно целое число – количество различных паролей длины `L` из `K` символов, в которых нет одинаковых символов подряд.

Пример ввода 1

3 3

Пример вывода 1

12

Пример ввода 2

4 3

Пример вывода 2

36
Пояснение к примеру 1: возможны следующие 12 паролей из трех букв длины 3: aba, abc, aca, acb, bab, bac, bca, bcb, cab, cac, cba, cbc.
loading