Universal Cup Judging System

Universal Cup

実行時間制限: 1 s メモリ制限: 512 MB 満点: 100
統計

Це складна версія цієї задачі. Єдина відмінність між простою та складною версіями — обмеження на кількість ходів у вашому розв’язку.

Yuki живе на сітці з $n + 1$ рядків і $n$ стовпців. Рядки пронумеровані від $1$ до $n + 1$ згори донизу, а стовпці — від $1$ до $n$ зліва направо. Нехай $(i, j)$ позначає клітинку в рядку $i$ та стовпці $j$.

На сітці є $n - 1$ перешкод, і їхнє розташування задовольняє такі умови:

  • У рядках $1$ та $n + 1$ немає перешкод.

  • Для всіх $2 \le i \le n$ у рядку $i$ є рівно одна перешкода.

  • Для всіх $1 \le j \le n$ у стовпці $j$ є щонайбільше одна перешкода.

Спочатку Yuki перебуває в $(1, 1)$. Вона чула, що в рядку $n + 1$ живе група кенгуру, тому хоче піти до рядка $n + 1$, щоб помилуватися краєвидом.

Для досягнення своєї мети Yuki може зробити декілька ходів. Під час кожного ходу вона обирає один із чотирьох напрямків (угору, униз, ліворуч, праворуч) і пересувається на одну клітинку в цьому напрямку. Зокрема, якщо цільова клітинка лежить за межами сітки або містить перешкоду, хід не виконується.

На жаль, Yuki знає лише правила розташування перешкод, а не їхні конкретні позиції. Тому вона хоче, щоб ви допомогли їй задати послідовність ходів, таку що за будь-якого допустимого розташування перешкод Yuki в певний момент досягне рядка $n + 1$ (їй достатньо побувати в рядку $n + 1$ хоча б один раз; залишатися там після завершення всіх ходів не потрібно).

Оскільки Yuki поспішає, кількість ходів у вашому розв’язку не повинна перевищувати $10 \cdot n$.

Вхідні дані

Єдиний рядок містить додатне ціле число $n$ ($2 \le n \le 10^3$).

Вихідні дані

У першому рядку виведіть ціле число $k$ ($1 \le k \le 10 \cdot n$), що позначає кількість ходів у вашому розв’язку.

У другому рядку виведіть рядок $s$ довжини $k$, де $s_i$ позначає напрямок $i$-го ходу Yuki:

  • Якщо $s_i = \texttt{U}$, Yuki рухається вгору.

  • Якщо $s_i = \texttt{D}$, Yuki рухається вниз.

  • Якщо $s_i = \texttt{L}$, Yuki рухається ліворуч.

  • Якщо $s_i = \texttt{R}$, Yuki рухається праворуч.

Приклади

Вхідні дані 1

2

Вихідні дані 1

4
DRDD

Вхідні дані 2

3

Вихідні дані 2

17
DDDUUURDDDUUURDDD

Примітка

Для першого прикладу:

  • Сірі клітинки позначають перешкоди, а білі — порожні клітинки. На наступному зображенні показано всі можливі розташування перешкод, які задовольняють вимоги:
problem_17354_51075009d4925aa2e9f0434439e9ee1b.png
  • Для першого розташування перешкод шлях Yuki має вигляд $(1, 1) \to (1, 1) \to (1, 2) \to (2, 2) \to (3, 2)$.

  • Для другого розташування перешкод шлях Yuki має вигляд $(1, 1) \to (2, 1) \to (2, 1) \to (3, 1) \to (3, 1)$.

  • За кожного допустимого розташування перешкод Yuki досягає рядка $n + 1$, тому виведені дані прикладу правильні.

Для другого прикладу:

  • Сірі клітинки позначають перешкоди, а білі — порожні клітинки. На наступному зображенні показано всі можливі розташування перешкод, які задовольняють вимоги:
problem_17354_a19447ac955b59f6947f213d325613aa.png
  • Легко довести, що за будь-якого з цих розташувань перешкод, виконуючи ходи, наведені у виведених даних прикладу, Yuki досягне рядка $n + 1$.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.