Google Code Jam 2016 - Counting Sheep

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

Cô 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.

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: