Chia hết cho 25

Đề bài

Mô tả

Cho một xâu s biểu diễn một số nguyên, trong đó một số chữ số đã bị xóa. Xâu s gồm các ký tự:

  • Chữ số từ 0 đến 9: giữ nguyên.
  • Ký tự _ : đại diện cho một chữ số bất kỳ (mỗi ký tự _ có thể là một chữ số khác nhau).
  • Ký tự X : cũng đại diện cho một chữ số, nhưng tất cả các ký tự X phải được thay bằng cùng một chữ số.

Hãy đếm số các số nguyên khác nhau có thể tạo ra từ s sao cho số đó chia hết cho 25không có chữ số 0 đứng đầu thừa (leading zero).

Chữ số 0 đứng đầu thừa là bất kỳ chữ số 0 nào đứng trước chữ số khác 0 đầu tiên. Ví dụ, 0025 có hai chữ số 0 đứng đầu thừa. Ngoại lệ duy nhất là số 0: bản thân số 0 (một chữ số) hợp lệ, nhưng 0000 có ba chữ số 0 đứng đầu thừa.

Hai cách điền cho ra cùng một xâu chữ số thì chỉ tính là một số.

Dữ liệu vào

Một dòng chứa xâu s gồm các ký tự 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, _ và X.

Dữ liệu ra

Một số nguyên là số lượng số nguyên hợp lệ có thể tạo ra.

Ràng buộc

  • 1|s|8

Ví dụ

Input Output Giải thích
25 1 Số duy nhất là 25.
_00 9 Các số hợp lệ là 100, 200, 300, 400, 500, 600, 700, 800, 900.
_XX 9 Cả hai X phải bằng nhau, nên hai chữ số cuối phải giống nhau; chỉ 00 là hai chữ số cuối giống nhau chia hết cho 25. Ta được 100, 200, ..., 900.
0 1 Số 0 hợp lệ (không tính là leading zero).
0_25 0 Mọi cách điền đều tạo ra số có chữ số 0 đứng đầu thừa.

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