A2964 | 铺放矩形块 Packing Rectangles
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
给定 $4$ 个矩形块,找出一个最小的封闭矩形将这 $4$ 个矩形块放入,但不得相互重叠。所谓最小矩形指该矩形面积最小。

$4$ 个矩形块中任一个矩形的边都与封闭矩形的边相平行,上图显示出了铺放 $4$ 个矩形块的 $6$ 种方案。
这 $6$ 种方案是唯一可能的基本铺放方案。因为其它方案能由基本方案通过旋转和镜像反射得到。
可能存在满足条件且有着同样面积的各种不同的封闭矩形,你应该输出所有这些封闭矩形的边长。

$4$ 个矩形块中任一个矩形的边都与封闭矩形的边相平行,上图显示出了铺放 $4$ 个矩形块的 $6$ 种方案。
这 $6$ 种方案是唯一可能的基本铺放方案。因为其它方案能由基本方案通过旋转和镜像反射得到。
可能存在满足条件且有着同样面积的各种不同的封闭矩形,你应该输出所有这些封闭矩形的边长。
输入格式
共有 $4$ 行,每行两个正整数,表示每个矩形的边长。
输出格式
总行数为解的总数加一。
第一行是一个整数,代表封闭矩形的最小面积。
接下来的每一行都表示一个解,由 $p,q\space (p \leqslant q)$ 来表示。这些行必须根据 $p$ 的大小按升序排列,且所有行都应是不同的。
第一行是一个整数,代表封闭矩形的最小面积。
接下来的每一行都表示一个解,由 $p,q\space (p \leqslant q)$ 来表示。这些行必须根据 $p$ 的大小按升序排列,且所有行都应是不同的。
输入输出样例
输入 #1
1 2 2 3 3 4 4 5
输出 #1
40 4 10 5 8
【数据范围】
对于 $100\%$ 的数据,输入的所有数在 $[1,50]$ 内。
对于 $100\%$ 的数据,输入的所有数在 $[1,50]$ 内。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted