QOJ.ac

QOJ

Time Limit: 8 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#17528. Rolling Rick

Statistics

Trên bàn có một tờ giấy hình chữ nhật kích thước $W \times H$ (ngang $\times$ dọc), và trên đó đặt một khối hộp chữ nhật Rick có kích thước $A \times B \times C$ (ngang $\times$ dọc $\times$ cao). Ban đầu, cạnh trái và cạnh trên của mặt đáy Rick trùng với cạnh trái và cạnh trên của tờ giấy.

Chúng ta có thể lăn Rick sang phải hoặc xuống dưới. Khi lăn Rick, ta xoay nó quanh cạnh phải hoặc cạnh dưới của mặt đáy hiện tại. Vì tất cả các mặt của Rick đều được phủ sơn chưa khô, nên vùng mặt bàn tiếp xúc với Rick sẽ bị dính sơn. Để giữ cho bàn sạch sẽ, Rick không được lăn ra ngoài phạm vi tờ giấy.

Hãy tìm cách lăn Rick sao cho cạnh phải và cạnh dưới của mặt đáy Rick trùng với cạnh phải và cạnh dưới của tờ giấy, đồng thời tối đa hóa diện tích vùng bị dính sơn trên tờ giấy.

Dữ liệu vào

Dòng đầu tiên chứa kích thước của Rick $A, B, C$ và kích thước của tờ giấy $W, H$ cách nhau bởi dấu cách. ($1 \leq A, B, C, W, H \leq 1\,000\,000$; $A < W$; $B < H$)

Tất cả các giá trị đầu vào đều là số nguyên.

Dữ liệu ra

Nếu không thể di chuyển Rick đến góc dưới bên phải, chỉ cần in ra -1 trên dòng đầu tiên.

Nếu có thể, dòng đầu tiên in ra diện tích lớn nhất của vùng bị dính sơn trên tờ giấy, và dòng thứ hai in ra chuỗi ký tự chỉ cách lăn Rick, bao gồm các ký tự RD. Ký tự thứ $i$ là R nghĩa là lần thứ $i$ lăn Rick sang phải, và D nghĩa là lăn xuống dưới.

Nếu có nhiều cách thực hiện, hãy in ra bất kỳ cách nào trong số đó.

Ví dụ

Dữ liệu vào 1

1 1 1 24 10

Dữ liệu ra 1

33
RRRRRRRRRRRRRRRRRRRRRRRDDDDDDDDD

Dữ liệu vào 2

3 4 5 6 7

Dữ liệu ra 2

-1

Dữ liệu vào 3

3 4 5 12 12

Dữ liệu ra 3

79
RDRD

Ghi chú

Hình dưới đây minh họa quá trình lăn Rick trong ví dụ thứ 3.

Trong ví dụ này, Rick có thể được lăn theo thứ tự xuống, phải, xuống, phải, nhưng diện tích vùng bị dính sơn là $74$, không phải là giá trị tối ưu.

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.