在Python中统计一组砖块能够构成多少个横向砖块图案的程序
假设我们有一个数字列表叫做bricks并且有另外两个变量width和height。 此处bricks[i]中的每个元素表示长度为bricks[i]单位且宽度为1单位的砖块。 我们必须找到将砖块铺设的方法,以便我们可以获得给定宽度和高度的全部砖块布局。我们可以重复使用这些砖块但只能在横向上铺设。
因此,如果输入是bricks=[2,1],width=3且height=2,则输出将为9,因为 –
为了解决这个问题,我们将采取以下步骤 –
- w:一个大小与width相同的列表,将1插入第一个位置,其余位置设为0
- 对于i在0到width之间的范围内,执行以下操作
- 如果w[i]不为零,那么
- 对于砖块中的每个x进行如下操作
- 如果i + x <= width,则
- w [i + x]:= w [i + x] + w [i]
- 如果w[i]不为零,那么
- 返回w [width]的height次方
范例
让我们看下面的实现以了解更多内容 –