Cộng một kiểu Đức (THT C2 Đà Nẵng 2023)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1500 Thời gian: 1.0s Bộ nhớ: 500M Input: CONG.INP Output: CONG.OUT

Đức vừa phát minh ra một phép toán cộng độc đáo và đặt tên cho nó là “cộng một kiểu Đức”, cách cộng như sau: Mỗi lần cộng một số nguyên cho một thay vì tăng giá trị của số đó lên một đơn vị Đức lại tăng tất cả các chữ số của số đó lên một đơn vị.

Ví dụ 1: \(15\) “cộng một kiểu Đức” sẽ cho kết quả là \(26\).

Ví dụ 2: \(91\) “cộng một kiểu Đức” sẽ cho kết quả là \(102\).

Yêu cầu: Với \(T\) số nguyên dương \(N\) cho trước hãy tính toán và cho biết sau khi thực hiện \(K\) lần phép cộng một kiểu Đức thì kết quả sinh ra có bao nhiêu chữ số. Vì câu trả lời có thể rất lớn do đó hãy in ra kết quả sau khi chia lấy dư cho \(10^9+7\).

Input

  • Dòng thứ nhất: chứa số nguyên \(T\ (1 \leq T \leq 2\cdot 10^5)\).
  • \(T\) dòng tiếp theo mỗi dòng chứa 2 số nguyên lần lượt là \(N\)\(K\) \((1 \leq N \leq 10^9; 1 \leq K \leq 2\cdot 10^5)\).

Output

  • Với mỗi trường hợp in ra số lượng chữ số của kết quả chia lấy dư cho \(10^9+7\).

Scoring

  • \(30\%\) số test với \(T \leq 10, K \leq 20\).
  • \(20\%\) số test với \(T \leq 100, K \leq 50\).
  • \(50\%\) số test không có giới hạn gì thêm.

Example

Test 1

Input
2
9812 2
9899 3
Output
6
8
Note

\(9812 \to 10923 \to 211034\)

\(9899 \to 1091010 \to 21102121 \to 32213232\)

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: