題目描述spa
總公司擁有高效設備M臺,準備分給下屬的N個分公司。各分公司若得到這些設備,能夠爲國家提供必定的盈利。問:如何分配這M臺設備才能使國家獲得的盈利最大?求出最大盈利值。其中M≤15,N≤10。分配原則:每一個公司有權得到任意數目的設備,但總檯數不超過設備數M。it
直接上程序:io
program resources;
uses math;
var n,m:longint;
f:array[0..1000,0..1000]of longint;
v:array[0..1000,0..1000]of longint;
i,j:longint;
function max1(i,j:longint):longint;
var k:longint;
begin
if f[i,j]<>0 then exit(f[i,j]);
if i=1 then exit(v[1,j])
else begin
for k:=0 to j do
f[i,j]:=max(f[i,j],max1(i-1,k)+v[i,j-k]);
exit(f[i,j]);
end;
end;function
begin
read(n,m);
fillchar(v,sizeof(v),0);
for i:=1 to n do
for j:=1 to m do
read(v[i,j]);
fillchar(f,sizeof(f),0);
write(max1(n,m));
end.程序