Nhận hối lộ

Xem PDF



Tác giả:
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, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1000 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Tôi không phải là một hacker đúng nghĩa — không có phòng tối, không có màn hình đầy chữ xanh, không phải kiểu người xuất hiện trong phim Hollywood. Tôi là một 'hacker dạo': kẻ lang thang giữa những dòng mã, lặng lẽ phá vỡ giới hạn của những hệ thống tưởng chừng kiên cố. Không phải để hủy hoại, mà để hiểu. Không phải để làm hại, mà để thử thách ranh giới của bản thân.

Với số tiền được trả từ Nhật quá lớn (hàng tỉ Zimbabwe), nhận thấy đây là một cơ hội tốt để làm ăn, tôi vội vã nhận lời ngay. Với kinh nghiệm nhiều năm tắt tường lửa trên các hệ thống thi, tôi không ngần ngại gì và bắt đầu thực hiện nhiệm vụ của mình. Khó khăn thay, hệ thống này còn được bảo vệ bởi một mã khóa đặc biệt mà chỉ hội đồng chấm thi mới biết được.

Qua lời kể của Nhật cộng với khả năng suy luận 'vjp pro' của mình, tôi biết được rằng mã khóa này là một xâu \(S\) có đúng \(n\) kí tự chữ cái latin thường (từ a đến z), sao cho tổng các chênh lệch giữa \(2\) kí tự liên tiếp\(^*\) trong xâu bằng đúng \(k\).

\(^*\) Chênh lệch giữa 2 kí tự \(c_1\)\(c_2\) bất kì là chênh lệch giữa \(val(c_1)\)\(val(c_2)\), với \(val(\)a\() = 1\), \(val(\)b\() = 2\), \(val(\)c\() = 3\), \(...\), \(val(\)z\() = 26\)

VD: Xâu hacker có tổng các chênh lệch giữa \(2\) kí tự liên tiếp trong xâu là: \((8 - 1) + (3 - 1) + (11 - 3) + (11 - 5) + (18 - 5) = 7 + 2 + 8 + 6 + 13 = 36\).

Yêu cầu: Cho hai số tự nhiên \(n\), \(k\). Hãy giúp hacker trên tìm ra xâu \(s\) là mã khóa của hệ thống thi để nhận được hàng tỉ Zimbabwe từ Nhật nhé!

Input

  • Dòng đầu tiên chứa số tự nhiên \(n\) \((n \leq 10^6)\).
  • Dòng thứ hai chứa số tự nhiên \(k\).

Dữ liệu đảm bảo luôn tìm được ít nhất một xâu \(S\) thỏa đề.

Output

  • Một dòng duy nhất chứa xâu \(S\) - là kết quả của bài toán. Nếu có nhiều xâu \(S\) thỏa mãn, in ra một xâu bất kì.

Example

Test 1
Input
6
36
Output
hacker
Note
  • Xâu hacker chỉ là một trong các xâu \(S\) thỏa mãn, nếu tìm được một xâu thỏa mãn khác, bạn vẫn nhận được điểm.

Scoring

  • \(10\%\) số điểm có: \(n \leq 4\).
  • \(20\%\) số điểm có: \(k = 0\).
  • \(20\%\) số điểm có: \(k = 25 * (n - 1)\).
  • \(50\%\) số điểm còn lại không có ràng buộc gì thêm.

Bình luận (5)

Mới nhất
Tải bình luận...