QOJ.ac

QOJ

시간 제한: 2 s 메모리 제한: 1024 MB 총점: 100 해킹 가능 ✓

#20125. 놀라운 모험

통계

놀라운 게임 Pokenom Go가 막 출시되었다. 이제 Pokenom 트레이너들은 세계를 여행하고, 야생 Pokenom을 잡고, 서로 대결할 수 있다!

Bash와 Cee는 Pokenom 트레이너가 되겠다는 어린 시절의 꿈을 이루기 위해 최근 대학을 중퇴한 두 학생이다. 오늘 그들의 놀라운 모험이 시작된다!

세계는 $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는 Pokenom 체육관으로 가는 경로에서 대학을 지나고 싶지 않다.

각 걸음에서 Bash는 위, 아래, 왼쪽, 오른쪽 네 방향 중 하나로만 이동하여 현재 칸과 정확히 한 변을 공유하는 칸으로 갈 수 있다. 따라서 경로는 각각 위, 아래, 왼쪽, 오른쪽을 뜻하는 네 문자 U, D, L, R로 이루어진 문자열로 유일하게 표현할 수 있다.

단순 경로는 시작점과 끝점을 포함한 어떤 칸도 두 번 이상 방문하지 않는 경로이다.

Bash는 $(r_B,c_B)$에서 $(r_G,c_G)$까지 가면서 $(r_C,c_C)$를 지나되 $(r_U,c_U)$는 지나지 않는 단순 경로를 찾고 싶다. 걸음 수는 가능한 한 적어야 한다. Bash를 도와주어라!

입력

입력에는 여러 테스트 케이스가 있다. 각 테스트 케이스는 여섯 줄로 주어진다:

  • 첫 번째 줄에는 공백 하나로 구분된 두 정수 $N$과 $M$이 정확히 주어진다. $1\le M,N\le100$이다.
  • 두 번째 줄에는 공백 하나로 구분된 두 정수 $r_B$와 $c_B$가 정확히 주어진다.
  • 세 번째 줄에는 공백 하나로 구분된 두 정수 $r_C$와 $c_C$가 정확히 주어진다.
  • 네 번째 줄에는 공백 하나로 구분된 두 정수 $r_G$와 $c_G$가 정확히 주어진다.
  • 다섯 번째 줄에는 공백 하나로 구분된 두 정수 $r_U$와 $c_U$가 정확히 주어진다.
  • 여섯 번째 줄은 빈 줄이다.
  • $1\le r_B,r_C,r_G,r_U\le N$, $1\le c_B,c_C,c_G,c_U\le M$이다. 네 칸 $(r_B,c_B),(r_C,c_C),(r_G,c_G),(r_U,c_U)$는 서로 다르다.

두 개의 0이 있는 한 줄이 입력의 끝을 나타낸다.

모든 테스트 케이스에 대한 $M\cdot N$의 합은 $10^5$ 이하이다.

출력

각 테스트 케이스에 대해 모든 조건을 만족하는 경로를 찾을 수 없으면 NO 한 단어를 정확히 한 줄에 출력하라. 그렇지 않으면 두 줄을 출력하라:

  • 첫 번째 줄에는 YES를 출력한다.
  • 두 번째 줄에는 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.