征集算法
才工作不久就遇见一个让人头痛的算法题,想了一段时间也没想出来。在这提出来供大家参考,如果谁有好的算法来解决此问题,不胜感激。
某公司有M种商品供销售,现要进行促销活动,此促销活动分N个子促销方式,每个子促销方式为:由X种商品组成,客户需要购买全部X种商品且这X种商品的购买数量需满足Y[z]中的数量(Y[1]...Y[n]对应X[1]....X[n])才能获得K个赠品,客户可以同时参与所有N个子促销。在客户购物结束时候计算客户所能得到做多的赠品数。
例如:客户购买方案:10个A,6个B,4个C,8个D。促销方案:买3个A,3个B,3个C 送4个G;1个A,4个C 送2个G;2个B,2个C 送3个G;2个A,2个E 送2个G。计算客户能最多得到多少个赠品。