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:
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