Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
LSPALIN - Bậc Palindrome |
Palindrome là xâu đọc từ trái qua phải giống như đọc từ phải qua trái, ví dụ xâu ‘abba’ hoặc ‘madam’.
Với xâu s bất kỳ người ta xác định phép chia đôi ký hiệu là half(s) và định nghĩa như sau:
• Nếu s không phải là palindrome thì half(s) không xác định,
• Nếu s có độ dài bằng 1 thì half(s) không xác định,
• Nếu s là palindrome độ dài n thì half(s) là xâu k ký tự đầu của s, trong đó k = (n+1) div 2.
Ví dụ, half(informatics) và half(i) là không xác định, half(abba) = ‘ab’, half(madam) =’mad’.
Bậc palindrome (ta sẽ gọi ngắn gọn là bậc) của xâu s là số lần tối đa có thể áp dụng phép chia đôi mà kết quả vẫn xác định. Ví dụ, các xâu ‘informatics’ và ‘i’ có bậc bằng 0 vì không thể áp dụng phép chia đôi một lần nào, các xâu ‘abba’, ‘madam’ có bậc bằng 1, còn xâu ‘totottotot’ có bặc bằng 3: ‘totottotot’ -> ‘totot’ -> ‘tot’ -> ‘to’. Yêu cầu: Xét tất cả các xâu độ dài n chỉ chứa các chữ cái la tinh thường và có bậc palindrome bằng p. Hãy xác định xâu thứ k theo thứ tự từ điển (1 ≤ n ≤ 200, 0 ≤ p ≤ 8, 1 ≤ k ≤10^9). Dữ liệu đảm bảo tồn tại xâu cần tìm.
Input
Gồm một dòng duy nhất chứa 3 số n, p, k.
Output
In ra xâu tìm đựơc
Example
Input: 4 1 1 Output: abbaInput: 10 3 490 Output: totottotot
Input: 5 0 6597777 Output: olymp
Được gửi lên bởi: | Bare & Simple |
Ngày: | 2008-03-31 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | Tất cả ngoại trừ: ADA95 ASM32 BASH BF CSHARP CLPS LISP sbcl LISP clisp D ERL FORTRAN GOSU HASK ICON ICK JAVA JS-RHINO LUA NEM NICE NODEJS OCAML PERL PERL6 PHP PIKE PRLG-swi PYTHON PYPY RUBY RUST SCM guile SCM qobi SED ST VB.NET WHITESPACE |
Nguồn bài: | Không rõ |
hide comments
2014-07-15 10:37:34
Last edit: 2014-07-15 10:37:48 |
|
2014-07-15 09:51:25 Tiểu học Trung Tự
www.youtube.com/watch?v=QckuBjHXbiA |