#P1791. Paper Cutting

Paper Cutting

描述

ACM 的管理人员需要名片来向他们的客户和合作伙伴展示自己。名片在一大张纸上打印出来后,会用一种特殊的切割机进行裁切。由于机器操作成本很高,因此有必要将裁切的次数减到最少。你的任务是找到制作名片的最优方案。

你必须遵守一些限制条件。名片总是以精确的a×ba \times b张的网格结构进行打印。由于打印软件的限制,这种网格结构的大小(即单行和单列中的名片数量)是固定的,不能更改。纸张始终是矩形的,并且其大小是固定的。网格必须与纸张的边缘垂直,也就是说,它只能旋转9090度。不过,你可以交换行和列的含义,并且可以将名片放置在纸张上的任何位置,名片甚至可以接触纸张的边缘。

例如,假设名片的尺寸是3×43 \times 4厘米,网格大小为1×21 \times 2张名片。网格的四种可能的摆放方向如下图所示。图中还标明了每种方向所需的最小纸张尺寸。 用于裁切名片的切割机能够进行任意长度的连续裁切。裁切必须贯穿整张纸,不能在中途停止。一次只能裁切一张单独的纸张——你不能将纸张堆叠起来,也不能将它们并排放置以节省裁切次数。

输入

输入由若干个测试用例组成。每个测试用例由六个正整数AABBCCDDEEFF组成,它们在一行中,彼此用一个空格隔开。这些数字分别是:

AABB是矩形网格的大小,1A,B10001 \leq A,B \leq 1000

CCDD是名片的尺寸(单位:厘米),1C,D10001 \leq C,D \leq 1000

EEFF是纸张的尺寸(单位:厘米),1E,F10000001 \leq E,F \leq 1000000

输入以包含六个零的一行作为结束。

输出

对于每个测试用例,输出单独的一行。这一行应该包含这样的文本:“The minimum number of cuts is X.”,其中XX是所需的最少裁切次数。如果不可能在纸张上放置名片网格,则输出句子“The paper is too small.”。

输入数据 1

1 2 3 4 9 4
1 2 3 4 8 3
1 2 3 4 5 5
3 3 3 3 10 10
0 0 0 0 0 0

输出数据 1

The minimum number of cuts is 2.
The minimum number of cuts is 1.
The paper is too small.
The minimum number of cuts is 10.

来源

CTU Open 2003