`Всеукраїнський центр проведення олімпіад в мережі Інтернет

Задача Cool2k17. Назвемо число «крутим», якщо у його десятковому запису присутнi лише цифри 0, 1, 2. Перестановка чисел A1,A2,...,An  лексикографiчно менша за перестановку B1,B2,...,Bn, якщо iснує k таке, що для усiх i < k справедливо Ai = Bi та для Ak < Bk.  Вам дано число N - довжина перестановки (кiлькiсть чисел у перестановцi), а також число K - номер перестановки серед усiх перестановок, вiдсортованих лексикографiчно. Вам необхiдно знайти кiлькiсть «крутих» чисел, що стоять на «крутих» мiсцях, тобто їх iндекси в перестановцi також є «крутими» числами. Елементи в перестановцi нумеруються з 1.

Технiчнi умови. Програма cool2k17 зчитує з клавiатури два числа N та K, обидва не бiльшi за 1018. Програма повинна вивести єдине число - вiдповiдь на задачу. У разi, якщо K-ої перестановки не iснує, слiд вивести −1.

Приклади:

Введення

Виведення

3 12

-1

3 4

1

Коментар:

Усього існує 6 перестановок чисел вiд 1 до 3. Це (1;2;3),(1;3;2),(2;1;3),(2;3;1),(3;1;2), (3;2;1). Тому на перший приклад вiдповiдь −1 (12-ої перестановки не iснує). На другий приклад вiдповiдь 1 - у перестановцi (2;3;1) лише «круте» число 2 стоїть на «крутому» мiсцi 1.

© LIKT 1998-2024