SP8796 CUBARTWK - Cubist Artwork
题目描述
国际毕加索立体主义中心是一个展出毕加索立体主义作品的国家博物馆。该中心举办了一场竞赛,选拔要被悬挂在博物馆外墙上的一件艺术品。
这件艺术品由立方体堆叠而成,设计上希望游客能通过立方体从不同角度观察而产生好奇心。这些立方体的边长都是 1 英尺,并且要放置在一个每边 1 英尺的网格上。出于技术原因,立方体只能放在地面上,或者直接堆放在其他立方体的上面,即上面的立方体底面必须完全接触到下面立方体的顶面。不能有其他放置方式。
作为评审委员会的一员,你需要从众多的设计方案中选择一个。虽然主要评选依据是艺术质量,但安装成本也很重要。安装成本与立方体数量成正比,所以要确定安装所需的最小立方体数量。
每个艺术品设计方案都包括正视图和右侧视图,如图 1 所示。

正视图(从正面观察的视图)和侧视图(从右侧观察的视图)分别表示每列和每行的立方体堆叠的最大高度。
可以用不同的方法来安装这些立方体,比如下图所示的几种方法:

图中,地面上的虚线代表网格线。左图用了 16 个立方体,但不是最优的。右图则是采用了最优放置,只用了 13 个立方体。
注意,交换列不会改变侧视图,交换行也不会改变正视图。因此,这样的交换不影响建造艺术品的成本。
例如,参考图 2 的艺术品提案。

通过对图 1 的最优方案交换最右边两列,可以得到图 2 提案的最优安装方案,也只需要 13 个立方体。

输入格式
输入由多个数据集组成,结束标识是单独一行“0 0”。每个数据集的格式如下:
```
w d
h_1 h_2 ... h_w
h'_1 h'_2 ... h'_d
```
第一行的整数 $w$ 和 $d$ 分别表示网格的列数和行数。你可以假设 $1 \le w, d \le 100$。第二行的 $h_i$($1 \le h_i \le 100$)表示从前面来看每列的最大高度;第三行的 $h'_i$($1 \le h'_i \le 100$)表示从右侧看每行的最大高度。
输出格式
对于每个数据集,输出一行包含用于安装该艺术品的最小立方体数量。不需要输出任何额外字符。
可以假设每个数据集中至少有一种方案来安装这些立方体。
**本翻译由 AI 自动生成**