Google Code Jam 2019 - Won't sum? Must now
Xem PDFNăm 2016, người ta đã chứng minh rằng mọi số nguyên dương đều có thể viết thành tổng của không quá ba số hạng palindrome. Trong bài này, một số hạng palindrome là chuỗi chữ số không có số 0 ở đầu, biểu diễn một số nguyên dương và đọc xuôi hay ngược đều giống nhau.
Cho số nguyên dương \(S\), hãy tìm \(K\) số hạng palindrome có tổng bằng \(S\), sao cho \(K\) nhỏ nhất.
Dữ liệu vào
Dòng đầu chứa số bộ test \(T\). Mỗi dòng trong \(T\) dòng tiếp theo chứa một số nguyên dương \(S\).
Dữ liệu ra
Với mỗi bộ test, in một dòng theo một trong các dạng Case #x: A1 nếu chỉ cần một số hạng, Case #x: A1 A2 nếu cần hai số hạng, hoặc Case #x: A1 A2 A3 nếu cần ba số hạng. x là số thứ tự bộ test (bắt đầu từ 1), mỗi \(A_i\) là một số hạng palindrome như định nghĩa trên, và tổng các \(A_i\) bằng \(S\).
Ràng buộc
- \(1\le T\le100\).
Phân nhóm
Test Set 1 (Visible): \(1\le S\le10^{10}\).
Test Set 2 (Hidden): \(1\le S\le10^{40}\).
Điểm các phân nhóm
Mỗi Test Set tương ứng với một subtask trên LQDOJ. Bảng dưới đây giữ nguyên điểm chính thức của Google Code Jam và quy đổi tỷ lệ trên tổng điểm của bài.
| Phân nhóm | Điểm Google Code Jam | Tỷ lệ điểm của bài |
|---|---|---|
| Test Set 1 | 5/27 | 18,52% |
| Test Set 2 | 22/27 | 81,48% |
Ví dụ
Ví dụ 1
Input
3
1
198
1234567890
Output
Case #1: 1
Case #2: 191 7
Case #3: 672787276 94449 561686165
Giải thích
Trong Case #1, đầu vào vốn đã là palindrome.
Trong Case #2, 99 99 cũng là một đáp án hợp lệ. Hai lần xuất hiện của 99 được tính là hai số hạng riêng, nên nghiệm này dùng cùng số lượng số hạng như 191 7.
Các đáp án 191 07, 181 8 9, 0110 88, 101 97, 7.0 191.0 và -202 4 đều không hợp lệ: chúng vi phạm một hoặc nhiều yêu cầu về số 0 đầu, số lượng số hạng tối thiểu, tính palindrome, dạng số nguyên dương hoặc tổng.
Nguồn
Google Code Jam 2019, Chung kết thế giới, bài Won't sum? Must now.
Nguồn chính thức trên Google Coding Competitions Archive, phát hành theo giấy phép Apache-2.0.
Kỳ thi:
- Google Code Jam 2019 - World Finals (10 Tháng 8., 2019)
Bình luận