一个长方体,长宽高分别为x,y,z,都为自然数。
现在要把若干个相同的长方体摆成高为N的一根柱形体。
每层摆1个,如果两种摆法的高度是一样的,则认为这两种摆法等价,所以每层只有三种摆法。
求一共有多少种摆法。
输入描述:
第一行为一个数字N,N>=1且N<=100,表示要摆放的高度
第二行为长方体的长宽高,x、y、z都为无符号整数,按升序排列。
输出描述:
摆法总数,已知该总数会小于10000000
示例1
输入
10
5 6 7
输出
1
设dp[i][j]为第i层,高度为j的方案数,那么第i+1层的高度为j+x j+y j+z的方案数都等于第i层的
方案数,所以可以得出递推式为:
dp[i+1][j+x]+=dp[i][j]
dp[i+1][j+y]+=dp[i][j]
dp[i+1][j+z]+=dp

该博客讨论了如何将多个相同长方体(长x宽高为自然数)以递归方式堆叠成高度为N的柱形体。每层仅能放一个长方体,并且高度相同的摆放方式视为等价。博客中指出,对于给定的高度N(1≤N≤100),输出所有可能的摆放总数,保证总数小于10000000。例如,当高度为10,长方体尺寸为5x6x7时,总共有1种不同的摆放方式。
最低0.47元/天 解锁文章
5641

被折叠的 条评论
为什么被折叠?



