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

Xâu không so sánh được

Đề bài

Mô tả

Hai xâu sw cùng độ dài n, mỗi xâu chỉ gồm các chữ số 0 tới 9, được gọi là không so sánh được nếu tồn tại hai vị trí ij (có thể trùng nhau về giá trị nhưng phải thỏa mãn đồng thời hai điều kiện) sao cho si>wisj<wj. Nói cách khác, tồn tại ít nhất một vị trí mà chữ số của s lớn hơn chữ số tương ứng của w, và đồng thời tồn tại ít nhất một vị trí khác mà chữ số của s nhỏ hơn chữ số tương ứng của w.

Một mẫu xâu là một xâu gồm các chữ số và dấu chấm hỏi (?). Bạn được cho hai mẫu xâu, mỗi mẫu có độ dài n. Hãy đếm số cách thay thế tất cả các dấu ? trong cả hai mẫu bằng các chữ số (từ 0 tới 9) sao cho hai xâu thu được là không so sánh được.

Các dấu ? khác nhau có thể được thay bằng các chữ số giống hoặc khác nhau. Xâu thu được có thể có chữ số 0 ở đầu.

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 số nguyên n, độ dài của cả hai mẫu xâu.
  • Dòng thứ hai chứa mẫu xâu thứ nhất, độ dài n.
  • Dòng thứ ba chứa mẫu xâu thứ hai, độ dài n.

Dữ liệu ra

  • In ra một số nguyên duy nhất: số cách thỏa mãn, lấy phần dư khi chia cho 109+7.

Ràng buộc

  • 1n105
  • Mỗi mẫu xâu chỉ gồm các ký tự trong tập {0,1,,9,?}.

Ví dụ

Input Output Giải thích
2
90
09
1 Không có dấu ? nào. Với s=90, w=09: vị trí 1 có 9>0 và vị trí 2 có 0<9, nên hai xâu không so sánh được. Chỉ có duy nhất một cách.
2
11
55
0 Không có dấu ?. Với s=11, w=55: mọi vị trí đều có si<wi, không tồn tại vị trí nào si>wi, nên hai xâu so sánh được. Đáp án là 0.
5
?????
?????
993531194 Tất cả các vị trí đều là dấu ?.

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