Google Code Jam 2019 - Foregone Solution
Xem PDFMột người vừa trúng xổ số Code Jam và chúng ta nợ họ \(N\) jamcoin! Tuy nhiên, khi chuẩn bị in một tấm séc ngoại cỡ, chúng ta gặp rắc rối: số nguyên \(N\) có ít nhất một chữ số 4, nhưng phím 4 trên bàn phím của máy in séc đã hỏng.
May thay, ta có một cách xử lý khác: gửi cho người thắng hai tấm séc có giá trị là hai số nguyên dương \(A\) và \(B\), sao cho cả \(A\) lẫn \(B\) đều không chứa chữ số 4, đồng thời \(A+B=N\). Hãy tìm bất kỳ cặp \(A,B\) nào thỏa mãn các điều kiện đó.
Dữ liệu vào
Dòng đầu tiên chứa số lượng bộ test \(T\). Tiếp theo là \(T\) bộ test; mỗi bộ test gồm một dòng chứa số nguyên \(N\).
Dữ liệu ra
Với mỗi bộ test, in một dòng có dạng Case #x: A B, trong đó x là số thứ tự bộ test, bắt đầu từ 1, còn \(A\) và \(B\) là hai số nguyên dương được mô tả ở trên.
Đề bài bảo đảm luôn tồn tại ít nhất một đáp án. Nếu có nhiều đáp án, có thể in bất kỳ đáp án hợp lệ nào.
Ràng buộc
- \(1\le T\le100\).
- \(N\) có ít nhất một chữ số
4.
Phân nhóm
- Test Set 1 (Visible): \(1<N<10^5\).
- Test Set 2 (Visible): \(1<N<10^9\).
- Test Set 3 (Hidden): \(1<N<10^{100}\).
Hai Test Set đầu chiếm phần lớn số điểm cần thiết để vượt qua vòng thi gốc. Test Set thứ ba chỉ có thêm 1 điểm.
Đ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 | 6/17 | 35,3% |
| Test Set 2 | 10/17 | 58,82% |
| Test Set 3 | 1/17 | 5,88% |
Ví dụ
Ví dụ 1
Input
3
4
940
4444
Output
Case #1: 2 2
Case #2: 852 88
Case #3: 667 3777
Giải thích
Trong ví dụ thứ nhất, \(A\) và \(B\) có thể bằng nhau. Ngoài 2 2, hai đáp án khả dĩ còn lại là 1 3 và 3 1.
Nguồn
Google Code Jam 2019, Vòng loại, bài Foregone Solution.
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 - Qualification Round (6 Tháng tư, 2019)
Bình luận