Hai phép gán

Xem dạng PDF

Gửi bài giải

Điểm: 1,14 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
TCO10 Round 1, Div 1 - Level 2Người dịch: Ngô Minh Ðức
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho hai biến ~X~ và ~Y~, ban đầu có giá trị ~1~. Mỗi bước ta có thể thực hiện một trong hai phép gán ~X:=X+Y~ (ký hiệu ~X~) hoặc ~Y:=X+Y~ (ký hiệu ~Y~). Cho trước một số ~r~, tìm cách thực hiện ít phép gán nhất sao cho biến ~X~ mang giá trị ~r~ (biến ~Y~ có thể mang giá trị bất kỳ).

Nếu có nhiều cách thực hiện, trả về cách mang thứ tự từ điển nhỏ nhất.

Input

  • Mỗi test bắt đầu bằng thẻ "[CASE]", các test cách nhau bởi một dòng trắng. Thẻ "[END]" báo hiệu kết thúc file input.
  • Mỗi test chứa một số nguyên ~r~ ~(r \le 10^{6})~ duy nhất

Output

  • Mỗi test chứa một dòng duy nhất là dãy bao gồm các ký tự ~X~ hoặc ~Y~ mô tả dãy phép gán.

Sample Input

[CASE]
10

[CASE]
3

[CASE]
20

[CASE]
34

[END]

Sample Output

XXYYX
XX
XYYYYXX
XYXYXYX

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.