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$)を出力してください。

二行目に長さ $k$ の文字列 $s$ を出力してください。$s_i$ は Yuki の $i$ 回目の移動方向を表します。

  • $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.