Đếm số theo ràng buộc tần suất chữ số

Đề bài

Mô tả

Cho số nguyên dương n và mảng a gồm 10 số nguyên không âm, đánh số từ 0 đến 9. Hãy đếm số lượng số nguyên dương thỏa mãn đồng thời các điều kiện sau:

  • Số có độ dài (số chữ số) không vượt quá n.
  • Số không có chữ số 0 ở đầu.
  • Với mọi chữ số i (0≤i≤9), chữ số i xuất hiện trong biểu diễn thập phân của số đó ít nhất ai lần.

Vì kết quả có thể rất lớn, hãy in ra phần dư của nó khi chia cho 109+7.

Dữ liệu vào

  • Dòng đầu chứa một số nguyên n.
  • Dòng thứ hai chứa 10 số nguyên a0,a1,…,a9 cách nhau bởi dấu cách.

Dữ liệu ra

  • In ra một số nguyên duy nhất là phần dư của đáp án khi chia cho 109+7.

Ràng buộc

  • 1≤n≤100
  • 0≤ai≤100 với mọi 0≤i≤9

Ví dụ

Input Output Giải thích
1
0 0 0 0 0 0 0 0 0 1
1 Cần ít nhất một chữ số 9 và độ dài không quá 1. Chỉ có số 9 thỏa mãn.
2
1 1 0 0 0 0 0 0 0 0
1 Cần ít nhất một chữ số 0 và một chữ số 1, độ dài không quá 2. Chỉ có số 10 thỏa mãn (số 01 không hợp lệ vì có chữ số 0 ở đầu).
3
1 1 0 0 0 0 0 0 0 0
36 Cùng ràng buộc như ví dụ trên nhưng cho phép độ dài đến 3. Có 36 số thỏa mãn, trong đó có 10, 110, 210, 120, 103, …

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