#P16330. [Ucpc2024]Rolling Rick

[Ucpc2024]Rolling Rick

题目描述

桌面上放着一张宽为 WW、高为 HH 的长方形纸。纸上放着一个长方体 Rick,其宽、深、高分别为 A,B,CA,B,C

初始时,Rick 底面的左边和上边分别与纸张的左边和上边重合。

你可以让 Rick 向右或向下滚动:

  • 向右滚动时,以当前底面的右侧棱为轴向右旋转;
  • 向下滚动时,以当前底面的下侧棱为轴向下旋转。

Rick 的所有表面都沾有不会干的油漆,因此每当 Rick 与纸面接触时,对应区域都会被涂上油漆。为了保持桌面整洁,任何一次滚动都不能让 Rick 超出纸张范围。

请通过若干次向右或向下滚动,使 Rick 最终底面的右边和下边分别与纸张的右边和下边重合,并最大化纸上被油漆覆盖的区域面积。

输入格式

一行输入五个整数 A,B,C,W,HA,B,C,W,H,分别表示 Rick 的三个边长以及纸张的宽和高。

1A,B,C,W,H106,1\le A,B,C,W,H\le 10^6,

且满足 A<WA<WB<HB<H

所有输入均为整数。

输出格式

若无法把 Rick 移动到右下角,输出一行 -1

否则:

  • 第一行输出纸张被油漆覆盖的最大面积;
  • 第二行输出一个只由 RD 组成的字符串,表示一种达到最大面积的滚动方案。

其中:

  • R 表示向右滚动;
  • D 表示向下滚动。

若有多种最优方案,输出任意一种。

样例 1

输入

1 1 1 24 10

输出

33
RRRRRRRRRRRRRRRRRRRRRRRDDDDDDDDD

样例 2

输入

3 4 5 6 7

输出

-1

样例 3

输入

3 4 5 12 12

输出

79
RDRD

说明

下图展示了样例 3 中 Rick 的滚动过程。

样例 3 中 Rick 的滚动示意图

在该样例中,也可以按“下、右、下、右”的顺序滚动,但这样被油漆覆盖的面积为 7474,不是最优方案。