QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 1024 MB Puntuación total: 100 Hackeable ✓

#20125. すばらしい冒険

Estadísticas

すばらしいゲーム Pokenom Go がついに公開されました。Pokenom トレーナーは世界を旅し、野生の Pokenom を捕まえ、互いに戦えるようになりました!

Bash と Cee は、Pokenom トレーナーになるという子供の頃の夢を追うため、最近大学を中退した 2 人の学生です。今日、彼らのすばらしい冒険が始まります!

世界は $N$ 行 $M$ 列のグリッドと考えられます。行は下から上へ $1$ から $N$、列は左から右へ $1$ から $M$ まで番号が付いています。第 $r$ 行、第 $c$ 列のマスを $(r,c)$ と表します。

Bash の家はマス $(r_B,c_B)$ にあります。今日はマス $(r_G,c_G)$ にある Pokenom ジムへ行き、ほかの Pokenom トレーナーと戦います。ジムへの途中で、マス $(r_C,c_C)$ にある Cee の家にも寄りたいと考えています。

Bash の大学はマス $(r_U,c_U)$ にあります。大学を通ると嫌な記憶を思い出すため、Bash はジムへの道で大学を通りたくありません。

各歩で、Bash は上下左右の 4 方向のいずれかにのみ進み、現在のマスとちょうど 1 辺を共有するマスへ移動できます。そのため、経路はそれぞれ上、下、左、右を表す 4 種類の文字 U、D、L、R からなる文字列で一意に表せます。

単純な経路とは、始点と終点も含め、どのマスも 2 回以上訪れない経路です。

Bash は、マス $(r_B,c_B)$ からマス $(r_G,c_G)$ まで、マス $(r_C,c_C)$ を通り、マス $(r_U,c_U)$ を通らない単純な経路を探しています。できるだけ少ない歩数にしたいと考えています。Bash を助けてください!

入力

入力は複数のテストケースを含みます。各テストケースは 6 行で記述されます。

  • 最初の行は、1 つの空白で区切られたちょうど 2 つの整数 $N$ と $M$ です。$1\le M,N\le100$ です。
  • 2 行目は、1 つの空白で区切られたちょうど 2 つの整数 $r_B$ と $c_B$ です。
  • 3 行目は、1 つの空白で区切られたちょうど 2 つの整数 $r_C$ と $c_C$ です。
  • 4 行目は、1 つの空白で区切られたちょうど 2 つの整数 $r_G$ と $c_G$ です。
  • 5 行目は、1 つの空白で区切られたちょうど 2 つの整数 $r_U$ と $c_U$ です。
  • 6 行目は空行です。
  • $1\le r_B,r_C,r_G,r_U\le N$、$1\le c_B,c_C,c_G,c_U\le M$ です。4 つのマス $(r_B,c_B),(r_C,c_C),(r_G,c_G),(r_U,c_U)$ は互いに異なります。

2 つのゼロを含む 1 行で入力が終わります。

すべてのテストケースにわたる $M\cdot N$ の合計は $10^5$ を超えません。

出力

各テストケースについて、指定されたすべての条件を満たす経路がない場合は、NO という単語をちょうど 1 行に出力してください。そうでなければ 2 行を出力してください。

  • 最初の行には YES という単語を含めてください。
  • 2 行目には Bash の最短の単純な経路を表す文字列を含めてください。

最短の単純な経路が複数ある場合、どれを出力してもかまいません。

入出力例の図

problem_20125_ca8b3a4d3a0cc1d4ae01ffaf2e47c5ef.png

入出力例

入力 1

3 3
1 1
3 3
2 1
2 2

3 4
1 1
3 4
2 1
1 2

2 2
2 1
2 2
1 2
1 1

0 0

出力 1

YES
RRUULLD
NO
YES
RD

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.