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

Nhiem vu dac biet

Đề bài

Mô tả

Mã của một chiếc két là một dãy chữ số không có số 0 ở đầu. Ta có một xâu gợi ý s mô tả mã đó, mỗi ký tự si ứng với chữ số thứ i của mã và tuân theo quy tắc sau:

  • Nếu si là ký tự ? thì chữ số ở vị trí đó có thể là bất kỳ chữ số nào từ 0 đến 9.
  • Nếu si là một chữ số (từ 0 đến 9) thì chữ số ở vị trí đó đúng bằng si.
  • Nếu si là một chữ cái từ A đến J thì mọi vị trí có cùng chữ cái phải mang cùng một chữ số, và các vị trí có chữ cái khác nhau phải mang các chữ số khác nhau.

Độ dài của mã bằng độ dài của xâu gợi ý. Hãy đếm số mã hợp lệ khớp với gợi ý đã cho.

Ví dụ, gợi ý ?JGJ9 khớp với các mã như 51919, 55959, 12329, 93539; và không khớp với các mã như 56669 (hai chữ cái khác nhau J, G lại nhận cùng chữ số), 03539 (có số 0 ở đầu).

Dữ liệu vào

Một dòng duy nhất chứa xâu s, gồm các ký tự ?, chữ số 0-9 và chữ cái A-J. Ký tự đầu tiên của s được đảm bảo khác 0.

Dữ liệu ra

In ra một số nguyên là số mã khớp với gợi ý.

Ràng buộc

  • 1|s|105
  • s chỉ gồm các ký tự ?, 0-9, A-J.
  • Ký tự đầu tiên của s khác 0.

Ví dụ

Input Output Giải thích
AJ 81 Hai chữ cái khác nhau nhận hai chữ số khác nhau. Chữ cái đầu (A) không được là 0 nên có 9 lựa chọn, chữ cái J còn 9 lựa chọn: 9×9=81.
1?AA 100 Vị trí đầu cố định là 1. Dấu ?10 lựa chọn. Hai chữ A phải cùng một chữ số, có 10 lựa chọn (không bị ràng buộc đầu dãy): 10×10=100.
??JG? 81000 Dấu ? đầu có 9 lựa chọn (khác 0), hai ? còn lại mỗi cái 10; hai chữ cái J, G khác nhau: 9×10×10×(10×9)=81000.

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