铺放矩形块

成绩 100 开启时间 2020年02月18日 星期二 15:10
折扣 0.8 折扣时间 2020年02月18日 星期二 15:10
允许迟交 关闭时间 2020年02月18日 星期二 15:10
输入文件 packrec.in 输出文件 packrec.out

【题目描述】铺放矩形块(packrec)USACO 1.4.1

给定4个矩形块,找出一个最小的封闭矩形将这4个矩形块放入,但不得相互重叠。所谓最小矩形指该矩形面积最小。

图3.16

 

所有4个矩形块的边都与封闭矩形的边相平行,图3.16显示出了铺放4个矩形块的6种方案。这6种方案是唯一可能的基本铺放方案。因为其它方案能由基本方案通过旋转和镜像反射得到。

可能存在满足条件且有着同样面积的各种不同的封闭矩形,你应该输出所有这些封闭矩形的边长。

【输入格式】

共有4行,每一行用两个正整数来表示一个给定的矩形块的两个边长。矩形块的每条边的边长范围最小是1,最大是50。

【输出格式】

总行数为解的总数加1。第一行是一个整数,代表封闭矩形的最小面积(子任务A)。接下来的每一行都表示一个解,由数P和数Q来表示,并且P≤Q(子任务B)。这些行必须根据P的大小按升序排列,P小的行在前,大的在后,且所有行都应是不同的。

【输入样例】

1 2

2 3

3 4

4 5

【输出样例】

40

4 10

5 8