JOI 2010 - a + b problem

Xem PDF



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, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1800 (p) Thời gian: 1.0s Bộ nhớ: 64M Input: bàn phím Output: màn hình

Cho hai số nguyên rất lớn được biểu diễn bằng các đoạn chữ số liên tiếp.

Yêu cầu

Hãy viết chương trình tính và in ra tổng của hai số nguyên.

Dữ liệu vào

Đọc từ đầu vào chuẩn. Hai số nguyên cần cộng được cho lần lượt theo định dạng sau:

  • Dòng đầu tiên của phần dữ liệu biểu diễn số nguyên thứ nhất chứa số nguyên \(m\). Trong \(m\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(a_i\)\(l_i\), cách nhau bởi một dấu cách. Điều này có nghĩa là biểu diễn thập phân của số nguyên thứ nhất, từ chữ số có hàng cao nhất đến chữ số có hàng thấp nhất, gồm \(l_1\) chữ số \(a_1\), rồi \(l_2\) chữ số \(a_2\), \(\ldots\), rồi \(l_m\) chữ số \(a_m\).
  • Ngay sau phần dữ liệu biểu diễn số nguyên thứ nhất là phần dữ liệu biểu diễn số nguyên thứ hai, theo cùng định dạng.

Dữ liệu ra

Giả sử biểu diễn thập phân của tổng hai số nguyên, từ chữ số có hàng cao nhất đến chữ số có hàng thấp nhất, gồm \(L_1\) chữ số \(A_1\), rồi \(L_2\) chữ số \(A_2\), \(\ldots\), rồi \(L_M\) chữ số \(A_M\), trong đó \(0\le A_i\le9\), \(L_i\ge1\), \(A_1\ne0\)\(A_i\ne A_{i+1}\) với \(1\le i\le M-1\).

In ra đầu ra chuẩn \(M+1\) dòng:

  • Dòng đầu tiên chứa số nguyên \(M\).
  • Dòng thứ \(i+1\) (\(1\le i\le M\)) chứa hai số nguyên \(A_i\)\(L_i\) theo thứ tự này, cách nhau bởi một dấu cách.

Lưu ý quan trọng: Các giá trị \(L_i\) không nhất thiết nằm trong phạm vi biểu diễn của kiểu số nguyên 32 bit. Cần sử dụng kiểu dữ liệu 64 bit, chẳng hạn long long.

Ràng buộc

  • Giới hạn trong kỳ thi gốc: thời gian \(1\) giây, bộ nhớ \(64\) MB.
  • Trong kỳ thi gốc, kích thước ngăn xếp (stack) chỉ bị giới hạn bởi giới hạn bộ nhớ của bài, không có giới hạn riêng nhỏ hơn.

Các điều kiện sau áp dụng cho phần dữ liệu biểu diễn của mỗi số nguyên:

  • \(1\le m\le20\,000\).
  • \(0\le a_i\le9\) với \(1\le i\le m\).
  • \(1\le l_i\le100\,000\,000\) với \(1\le i\le m\).
  • \(a_1\ne0\).
  • \(a_i\ne a_{i+1}\) với \(1\le i\le m-1\).

Phân nhóm

Bài này có tổng cộng \(100\) điểm, gồm \(10\) bộ dữ liệu, mỗi bộ \(10\) điểm.

  • Nhóm test trị giá \(30\) điểm: Với mỗi số nguyên đầu vào, \(m\le1\,000\)\(l_i\le1\,000\) với mọi \(1\le i\le m\).

Ví dụ

Ví dụ 1

Input
3
1 3
2 4
3 5
3
9 4
8 3
7 2
Output
4
1 2
2 8
1 1
0 1
Giải thích

Hai số nguyên được cho trong đầu vào là \(111222233333\)\(999988877\). Tổng của chúng là \(112222222210\), nên đầu ra như trên.

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: