Google Code Jam 2019 - Won't sum? Must now

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: 2600 Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Nă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-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.

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: