问题描述
4个部门向财务部小李上共交了40张共计1000k元发票,所有发票抬头一样,金额不一样。小李不小心打乱了这些发票,但是知道每个部门报销的金额分别为,300k,200k,400k,100k,现在你能否帮助小李将这些发票凑成4份,满足上面4个项目组的各自金额之和。设计算法实现。
思考
1看到这个问题首先想到的数学方程,先列个表格,0,表示不使用,1,表示使用,
方程
n表示发票个数,m表示部门个数
i表示发票计数,j 表示部门计数
Xi,j取值0,1表示j部门使用还是不使用发票
Ci, 表示发票值
Dj,表示该部门应该凑的额度
所以有
∑ni=0Xi,j