BOI 2008 - Magical Stones

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: 2100 Thời gian: 4.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Đá Xi-\(n\)-\(k\) chỉ có ở Xứ Sở Thần Tiên. Mỗi viên là một tấm đá granit khắc đúng \(n\) chữ cái, mỗi chữ là X hoặc I. Trên tấm đá có không quá \(k\) vị trí mà hai chữ kề nhau khác nhau.

Tấm đá không có cạnh trên hay cạnh dưới cố định, nên có thể xoay ngược 180 độ. Chẳng hạn, IXXIIXXXXXXIIXXI là hai cách nhìn cùng một viên đá. Viên này thuộc loại Xi-\(8\)-\(3\), đồng thời cũng thuộc loại Xi-\(8\)-\(k\) với mọi \(k\ge3\).

Không có hai viên đá nào giống nhau, trong đó hai dòng chữ đảo ngược nhau được coi là cùng một viên. Biểu diễn chính tắc của một viên đá là cách đọc nhỏ hơn theo thứ tự từ điển trong hai cách đọc. Nếu dòng chữ đối xứng thì nó chỉ có một cách đọc khác biệt và đó là biểu diễn chính tắc.

Ở đây I đứng trước X trong thứ tự từ điển: với hai xâu cùng độ dài, tại vị trí khác nhau đầu tiên, xâu có I nhỏ hơn xâu có X.

Ví dụ, có đúng 6 viên loại Xi-\(3\)-\(2\); các biểu diễn chính tắc theo thứ tự là III, IIX, IXI, IXX, XIX, XXX.

Hãy tìm biểu diễn chính tắc thứ \(i\) theo thứ tự từ điển của các viên đá loại Xi-\(n\)-\(k\).

Dữ liệu vào

Dòng duy nhất chứa ba số nguyên \(n,k,i\) (\(0\le k<n\le60\), \(0<i<10^{18}\)).

Dữ liệu ra

In biểu diễn chính tắc thứ \(i\). Nếu có ít hơn \(i\) viên đá loại Xi-\(n\)-\(k\), in NO SUCH STONE.

Phân nhóm

  • 100 điểm: không có ràng buộc bổ sung; bộ dữ liệu chính thức gồm 15 nhóm chấm độc lập.

Ví dụ

Ví dụ 1

Input
3 2 5
Output
XIX

Ví dụ 2

Input
3 2 7
Output
NO SUCH STONE

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: