这题应该算是chapter 里最难的一题了,个人是看了之后表示一点想法都没有,告诉我是搜索的我都不知道怎么去搜,后面终于下决心要A掉它,网上找了好多的解题报告,看了它们的思路,我个人对它们的正确性是没有疑问,就是为什么这样做就包含了所有的情况呢?后来还是自己独自想通的。大家注意我的分析过程都是分类穷举,因此没有遗漏,不过可能也还有不正确的地方,,希望大家能够指出。
这里和大家分享一下,希望大家能尽快的形成自己的思路。不要像我一样无限纠结。
网上对这题大部分映像不是很好,个人感觉这题对我们的逻辑思维还是很有挑战性的。
大致的思路:
一、首先确定矩形的位置
1.四个并排
2.下面一个,上面三个(下面三个,上面一个)
下面一个和上面三个的组合情况有三种
- 1-3(图1)
- 1-2(图2)
- 1-1(图3,图4)因此3和4本质是一样的。
3.上下各两个
之所以这里要讨论是因为最小矩形(答案)的宽是受高的限制的。
不会做图,就只些分析过程了:
0,1,2,3分别表示从左至右,从上至下的编号。
有四种情况
- h[3]<h[2]
1.h[3]+h[1]<=h[2]
2.h[3]+h[1]>h[2] &&h[1]+h[3]<=h[0]+h[2]
- h[3]>h[2]
3.h[1]+h[3]<=h[0]+h[2]
4.h[3]>h[0]+h[2]
二、每一种位置方式都会有4!种矩形的的摆放
三、每一种摆放再枚举宽高的组合有2^4种
实现过程时可以先执行二、三步骤(得到矩形的摆放,以及宽高的组合),再执行步骤一(枚举出现的位置)