学习和工作之余,来趣味一下!
某贸易公司准备销售某一货物,每日购进若干数量的这种货物,用车运到各子公司销出。若每天最多发车1趟送往各公司,该车运的最大货物量为K。该公司下属有N个子公司,他们销售数量与销售收入不成正比,第I个公司售出的货物为J件,可收入A[I,J]元。
对于给定每日货物的购入单价,及每个子公司的销售收入表A,现要求制订该公司一个月(设为30日)销售1000件货物的销售计划,使得该公司的利润最大,编程求最大的利润。
输入:
输入文件包含若干组测试数据,每组测试数据有N+2行:
第一行:N,K(N<=100,K<=100)
第二行:(30个不大于100的正整数)表示每日的购入单价
第三行到第N+2行为一个矩阵AN*K,其中A[I,J](I=1,2,…N,J=1,2,…,K)为第I个公司若售出的货物为J件时的收入(A[I,j]为不大于10000的正整数)
输入的最后一组数据后以0 0表示结束。
输出:
有若干行:为每组测试数据所求的最大利润(无解时,输出-32767)。
说明:若将问题规模缩小为:某公司要在2天内售出7件货物。
N,K=2,4
2天的单价分别为:5,4
各子公司销售收入表如下:
(其中A[2,3]=11表示公司2若售出3件货物可得到的收入为11)
要使得2天内销售利润最大应:在第一天送3件货物给第1子公司(利润为1),第二天送3件给公司1,送1件给公司2(利润为4),共得最大利润为5。
样例输入: 样例输出:
2 4 5
5 4
6 10 16 18
4 9 11 19