讨论 / 麻烦大神看看
pengyoukun 2015-05-01 00:57:37
点我顶贴 收藏 删除
program happy_jinming;

var

v:array [1..25] of integer;

w:array [1..25] of longint;

N,m:integer;

sum:longint;

money:integer;

tmp:longint;

i:integer;

procedure init;

var

i:integer;

begin

read(N,m);

for i:=1 to m do

begin

read(v[i],w[i]);

w[i]:=w[i]*v[i];

end;

end;

procedure zhengli;

var

i,j,temp:integer;

begin

for i:=1 to m-1 do

for j:=i+1 to m do

begin

if w[i]<w[j] then

begin

temp:=w[i];

w[i]:=w[j];

w[j]:=temp;

temp:=v[i];

v[i]:=v[j];

v[j]:=temp;

end;

end;

end;

procedure dig(i:integer);

var

flag:boolean;

begin

while i<=m do

begin

flag:=money+v[i]<=N;

if flag then begin

sum:=sum+w[i];

money:=money+v[i];end;

inc(i);

dig(i);

if flag then begin

sum:=sum-w[i];

money:=money-v[i];end;

end;

if sum>tmp then tmp:=sum;

end;

begin

init;

zhengli;

dig(1);

write(tmp);

end.

总是WA20

#1 pengyoukun@2015-05-01 01:09:54
回复 删除
自己修正了,sum-w[i-1] money[i-1]
#2 qzxhzx-wjd@2015-05-31 00:59:27
回复 删除
看不清楚

查看更多回复
提交回复