trang chủ / đề bài / luckyperm

Hoán vị may mắn

Đề bài

Mô tả

Một số nguyên dương được gọi là số may mắn nếu biểu diễn thập phân của nó chỉ gồm các chữ số 4 và 7. Ví dụ: 47, 744, 4 là số may mắn, còn 5, 17, 467 thì không.

Xét tất cả các hoán vị của các số nguyên từ 1 đến n, sắp xếp theo thứ tự từ điển tăng dần. Gọi a là hoán vị đứng thứ k trong danh sách đó (đánh số từ 1). Phần tử ở vị trí có chỉ số i của hoán vị được ký hiệu là ai.

Hãy đếm số chỉ số i sao cho cả i và ai đều là số may mắn.

Nếu hoán vị thứ k không tồn tại (tức là số hoán vị của n phần tử nhỏ hơn k), hãy in ra −1.

Dữ liệu vào

Một dòng gồm hai số nguyên n và k.

Dữ liệu ra

In ra một số nguyên là đáp án của bài toán, hoặc −1 nếu hoán vị thứ k không tồn tại.

Ràng buộc

  • 1≤n,k≤109

Ví dụ

Input Output Giải thích
7 4 1 Hoán vị thứ 4 của các số 1..7 là 1 2 3 4 6 7 5. Chỉ có vị trí i=4 thỏa mãn: cả 4 và a4=4 đều là số may mắn.
4 7 1 Hoán vị thứ 7 của các số 1..4 là 2 1 3 4. Chỉ có vị trí i=4 thỏa mãn: cả 4 và a4=4 đều là số may mắn.
10 1000000000 -1 Số hoán vị của 10 phần tử là 10!=3628800<109, nên hoán vị thứ k không tồn tại.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0