Google Code Jam 2016 - Counting Sheep
Xem PDFCô cừu Bleatrix Trotter nghĩ ra một chiến lược giúp mình ngủ nhanh hơn. Trước tiên, cô chọn một số \(N\). Sau đó cô bắt đầu đọc \(N,2\times N,3\times N,\ldots\). Mỗi lần đọc một số, cô nghĩ đến tất cả chữ số trong số đó. Cô theo dõi những chữ số trong 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 đã từng nhìn thấy ít nhất một lần trong bất kỳ số nào đã đọc. Ngay khi đã thấy đủ cả mười chữ số, cô sẽ ngủ thiếp đi.
Bleatrix phải bắt đầu bằng \(N\) và luôn phải đọc \((i+1)\times N\) ngay sau \(i\times N\). Ví dụ, giả sử cô chọn \(N=1692\), cô sẽ đếm như sau:
- \(N=1692\). Lúc này cô đã thấy các chữ số 1, 2, 6 và 9.
- \(2N=3384\). Lúc này cô đã thấy 1, 2, 3, 4, 6, 8 và 9.
- \(3N=5076\). Lúc này cô đã thấy đủ mười chữ số và ngủ thiếp đi.
Số cuối cùng cô đọc trước khi ngủ là gì? Nếu cô sẽ đếm mãi mãi, hãy in INSOMNIA.
Dữ liệu vào
Dòng đầu chứa số bộ test \(T\). Mỗi bộ test gồm một dòng chứa số nguyên \(N\) mà Bleatrix đã chọn.
Dữ liệu ra
Với mỗi bộ test, in một dòng Case #x: y, trong đó x là số thứ tự bộ test (bắt đầu từ 1), còn y là số cuối cùng Bleatrix đọc trước khi ngủ theo các quy tắc trên.
Ràng buộc
- \(1\le T\le100\).
Phân nhóm
- Test Set 1 (Hiển thị): \(0\le N\le200\).
- Test Set 2 (Ẩn): \(0\le N\le10^6\).
Đ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 | 7/15 | 46,67% |
| Test Set 2 | 8/15 | 53,33% |
Ví dụ
Ví dụ 1
Input
5
0
1
2
11
1692
Output
Case #1: INSOMNIA
Case #2: 10
Case #3: 90
Case #4: 110
Case #5: 5076
Giải thích
Trong bộ test 1, vì \(2\times0=0\), \(3\times0=0\), v.v., Bleatrix không bao giờ thấy chữ số nào ngoài 0; cô sẽ đếm mãi và không bao giờ ngủ. Tội nghiệp cô cừu!
Trong bộ test 2, Bleatrix đọc 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Chữ số 0 là chữ số cuối cùng còn thiếu, nên cô ngủ sau số 10.
Trong bộ test 3, Bleatrix đọc 2, 4, 6, ... Cô không thấy chữ số 9 trong số nào cho đến 90, rồi ngủ. Trước đó cô đã thấy 0, 1, 2, 3, 4, 5, 6, 7, 8; chúng xuất hiện lần đầu tương ứng trong 10, 10, 2, 30, 4, 50, 6, 70 và 8.
Trong bộ test 4, Bleatrix đọc 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 rồi ngủ.
Bộ test 5 chính là ví dụ trong đề. Nó chỉ xuất hiện trong Test Set lớn, không xuất hiện trong Test Set nhỏ.
Nguồn
Google Code Jam 2016, Vòng loại, bài Counting Sheep.
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 2016 - Qualification Round (9 Tháng tư, 2016)
Bình luận