Apex Cup 2026 - Số lập dị

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2300 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Link my group on LQDOJ

Nguồn: Apex Cup 2026 in ledinhbaonam group(here: ledinhbaonam group)

Trong kỳ thi HSG Quốc gia, một số nguyên dương \(X\) được gọi là Số lập dị bậc \(K\) (\(0 \le K \le 9\)) nếu như trong biểu diễn thập phân của \(X\):

  1. Tần suất xuất hiện của chữ số \(K\) lớn hơn hẳn tổng tần suất xuất hiện của tất cả các chữ số khác cộng lại.
  2. Đồng thời, biểu diễn thập phân của \(X\) không chứa bất kỳ chuỗi con liên tiếp nào trùng với một trong các chuỗi cấm cho trước thuộc tập \(S = \{s_1, s_2, \dots, s_M\}\)

Ban tổ chức đưa ra \(Q\) truy vấn, mỗi truy vấn gồm một bộ ba \((K, L, R)\). Bạn hãy tính số lượng Số lập dị bậc \(K\) nằm trong đoạn \([L, R]\). Vì số lượng kết quả có thể rất lớn, hãy in ra kết quả theo dư cho \(10^9 + 7\).

Input

  • Dòng đầu tiên chứa số nguyên \(M\) (\(0 \le M \le 100\)) — số lượng chuỗi cấm.
  • \(M\) dòng tiếp theo, mỗi dòng chứa một xâu ký tự chỉ gồm các chữ số 0 đến 9 đại diện cho xâu \(s_i\) (\(\sum \vert{}s_i\vert{} \le 500\)).
  • Dòng tiếp theo chứa số nguyên \(Q\) (\(1 \le Q \le 10^5\)) — số lượng truy vấn.
  • \(Q\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(K, L, R\) (\(0 \le K \le 9, 1 \le L \le R \le 10^{18}\)).

Output

  • Ghi ra \(Q\) dòng, mỗi dòng chứa một số nguyên là kết quả của truy vấn tương ứng lấy dư theo \(10^9 + 7\).

Example

Test 1

Input
2
13
222
2
2 1 25
2 200 225
Output
2
7
Note

Tập xâu cấm: \(S = \{"13", "222"\}\). Xét chữ số \(K = 2\).
Điều kiện thỏa mãn: \(\text{count}('2') > \text{count}(\text{chữ số khác})\) và không chứa 13, 222.

  • Truy vấn 1 (\(K = 2, L = 1, R = 25\)): Kết quả là 2

    • 2: \(\text{count}('2') = 1, \text{khác} = 0 \implies 1 > 0\) (Thỏa mãn).
    • 22: \(\text{count}('2') = 2, \text{khác} = 0 \implies 2 > 0\) và không chứa "222" (Thỏa mãn).
  • Truy vấn 2 (\(K = 2, L = 200, R = 225\)): Kết quả là 7

    • Các số thỏa mãn gồm: 202, 212, 220, 221, 223, 224, 225 (đều có \(2\) chữ số '2' và \(1\) chữ số khác \(\implies 2 > 1\)).
    • 222 bị loại vì vi phạm xâu cấm "222".

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.