trang chủ / bài tập / luckytkt

Vé số may mắn

Đề bài

Mô tả

Mọi vé xe buýt ở Berland đều có số hiệu gồm n chữ số (n chẵn). Chỉ có k chữ số thập phân d1,d2,,dk được phép xuất hiện trong số hiệu. Nếu 0 nằm trong tập này thì số hiệu có thể có chữ số 0 ở đầu. Ví dụ, với n=4 và chỉ được dùng hai chữ số 04, các số hiệu hợp lệ là 0000, 4004, 4440, còn 0002, 00, 44443 thì không hợp lệ.

Một vé được gọi là may mắn nếu tổng của n/2 chữ số đầu bằng tổng của n/2 chữ số cuối.

Hãy đếm số vé may mắn ở Berland. Vì kết quả có thể rất lớn, in ra phần dư khi chia cho 998244353.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk — số chữ số trong mỗi số hiệu vé, và số chữ số khác nhau được dùng.
  • Dòng thứ hai chứa k số nguyên phân biệt d1,d2,,dk — các chữ số được phép dùng, viết theo thứ tự bất kỳ.

Dữ liệu ra

In ra một số nguyên duy nhất là số vé may mắn, lấy phần dư khi chia cho 998244353.

Ràng buộc

  • 2n2·105, n chẵn.
  • 1k10.
  • 0di9 và các di đôi một khác nhau.

Ví dụ

Input Output Giải thích
4 2
1 8
6 6 vé may mắn: 1111, 1818, 1881, 8118, 8181, 8888.
20 1
6
1 Chỉ có duy nhất một vé toàn chữ số 6 (gồm 20 chữ số 6), và đó là vé may mắn.
10 5
6 1 4 0 3
569725 Có nhiều vé may mắn với độ dài 10 và bộ chữ số {0,1,3,4,6}; câu trả lời là 569725.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0