Hai phép gán

View as PDF

Submit solution

Points: 1.14 (partial)
Time limit: 1.0s
Memory limit: 512M
Input: stdin
Output: stdout

Problem source:
TCO10 Round 1, Div 1 - Level 2Người dịch: Ngô Minh Ðức
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, 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

Comments

Please read the guidelines before commenting.


There are no comments at the moment.