Thêm Một

Đề bài

Mô tả

Cho một số nguyên n. Bạn cần thực hiện m thao tác lên nó.

Trong một thao tác, bạn thay thế mỗi chữ số d của số hiện tại bằng biểu diễn thập phân của số nguyên d+1. Ví dụ, sau một thao tác thì 1912 trở thành 21023 (mỗi chữ số 1,9,1,2 lần lượt biến thành 2,10,2,3 rồi ghép lại).

Hãy tìm số lượng chữ số (độ dài) của n sau khi thực hiện m thao tác. 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 tiên chứa một số nguyên t — số lượng bộ dữ liệu.
  • Mỗi dòng trong t dòng tiếp theo chứa hai số nguyên n và m — số ban đầu và số lượng thao tác.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra trên một dòng độ dài của số thu được sau m thao tác, lấy phần dư khi chia cho 109+7.

Ràng buộc

  • 1≤t≤2·105
  • 1≤n≤109
  • 1≤m≤2·105

Ví dụ

Input Output Giải thích
5
1912 1
5 6
999 1
88 2
12 100
5
2
6
4
2115
Bộ 1: 1912→21023, độ dài 5. Bộ 3: 999→101010, độ dài 6. Bộ 4: 88→99→1010, độ dài 4.
5
90 94
26 25
64 84
14 6
20 96
1842
12
1015
3
1908
Kết quả phần dư khi chia cho 109+7; số thực tế có thể rất dài.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0