Thay thế trong số

Đề bài

Mô tả

Ban đầu bạn có một xâu s gồm các chữ số. Bạn nhận được n truy vấn, mỗi truy vấn có dạng "diti", nghĩa là "thay thế tất cả chữ số di trong s bằng xâu ti". Ở đây di là một chữ số (từ 0 đến 9), còn ti là một xâu gồm các chữ số (có thể rỗng).

Các truy vấn được thực hiện lần lượt theo đúng thứ tự đã cho. Ví dụ, nếu s=123123 thì truy vấn "200" biến s thành 10031003, còn truy vấn "3" (thay 3 bằng xâu rỗng) biến nó thành s=1212.

Sau khi thực hiện xong tất cả truy vấn, hãy coi s là một số nguyên viết ở hệ thập phân và in ra phần dư của nó khi chia cho 109+7.

Lưu ý: khi coi s là một số, các chữ số 0 ở đầu không bị loại bỏ khỏi xâu (chúng chỉ đơn giản không ảnh hưởng tới giá trị số). Nếu s là xâu rỗng thì số tương ứng bằng 0.

Dữ liệu vào

  • Dòng đầu chứa xâu s gồm các chữ số, là xâu ban đầu trước khi xử lý.
  • Dòng thứ hai chứa số nguyên n, số lượng truy vấn.
  • n dòng tiếp theo, dòng thứ i mô tả truy vấn dưới dạng "di->ti", trong đó di đúng một chữ số và ti là xâu gồm các chữ số (ti có thể rỗng).

Dữ liệu ra

In ra một số nguyên duy nhất: phần dư của số thu được khi chia cho 109+7.

Ràng buộc

  • 1|s|105
  • 0n105
  • Tổng độ dài các ti trên tất cả truy vấn không vượt quá 105.

Ví dụ

Input Output Giải thích
123123
1
2->00
10031003 123123 với truy vấn 200 thành 10031003.
123123
1
3->
1212 Thay mọi chữ số 3 bằng xâu rỗng: 1231231212.
222
2
2->0
0->7
777 222000 (thay 2 bằng 0), rồi 000777 (thay 0 bằng 7).
1000000008
0
1 Không có truy vấn; 1000000008mod(109+7)=1.

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