讨论 / 这个程序错哪儿啦?
渔人 2010-10-26 06:00:00
点我顶贴 收藏 删除
program ke;

var n,w,m,i,j,l,r,x,p,q:longint;

g,f:array[0..100,0..100] of int64;

begin

read(n,m);

for i:=1 to m do

begin

g[i,0]:=0;

readln(p,q);

for j:=1 to n do

begin

r:=1;

for l:=1 to q do r:=r*j;

g[i,j]:=r*p;

end;

end;

for i:=0 to n do f[1,i]:=g[1,i];

for i:=2 to m do

for j:=n downto 0 do

for l:=j downto 0 do

if (f[i,j]>f[i-1,j-l]+g[i,l])or(f[i,j]=0) then

f[i,j]:=f[i-1,j-l]+g[i,l];

writeln(f[m,n]);

end.

#1 liuminghao@2010-10-26 06:00:00
回复 删除
数组开小了
查看更多回复
提交回复