状态: Unaccepted
测评机: Xeost[5]
得分: 30分
提交日期: 2009-9-13 18:52:00
有效耗时: 515毫秒
测试结果1: 通过本测试点|有效耗时171ms
测试结果2: 测试结果错误.错误结果为:70644
5 18 42 45 48 60 90 92 105 109 120 133 154 171 175 191 196 199 214 218 225 227 238 241 273 293 304
正确结果应为:70701
5 18 42 45 48 60 90 92 105 109 120 133 154 171 175 191 196 214 218 225 227 238 241 259 273 293 304
测试结果3: 通过本测试点|有效耗时172ms
测试结果4: 测试结果错误.错误结果为:113169
7 10 22 28 38 41 46 51 58 63 68 71 73 83 90 97 110 114 116 119 122 130 137 145 147 148 150 165 170 172 173 176 179 181 186 188 190 198 200 208 215
正确结果应为:113354
7 22 28 38 41 46 51 58 63 68 71 73 83 90 97 110 114 116 119 122 130 137 145 147 148 150 165 167 170 172 173 176 179 181 186 188 190 194 198 200 208 215
测试结果5: 测试结果错误.错误结果为:73345
1 5 8 11 13 14 15 24 25 26 27 28 31 32 33 39 41 42 46 51 52 53 54
正确结果应为:73450
1 5 8 11 13 14 15 21 24 25 27 28 31 32 33 39 41 42 46 51 52 53 54 56
测试结果6: 测试结果错误.错误结果为:137020
13 14 15 17 24 28 34 49 52 56 59 65 77 85 88 97 98 101 102 105 110 113 121 126 130 140 141 145 150 158 162 173 174 181 182 184 187 202 204 205 208 219 221 244 245 253 256 285
正确结果应为:137034
13 14 15 17 24 28 34 49 52 56 59 65 77 85 88 97 98 101 102 110 121 126 130 140 141 145 150 158 162 173 174 181 182 184 187 202 204 205 208 219 221 226 244 245 251 253 256 285
测试结果7: 测试结果错误.错误结果为:49835
14 16 22 28 36 45 81 91 94 130 141 173 178 200 216
正确结果应为:49913
16 22 28 36 38 45 81 91 94 130 141 173 178 200 216
测试结果8: 测试结果错误.错误结果为:70853
1 2 3 4 5 6 11 13 14 15 16 17 18 20 21 23 27 29 32 34 35 36 38
正确结果应为:71182
1 2 3 4 5 6 7 11 14 15 16 17 18 20 21 23 27 29 32 34 36 38
测试结果9: 通过本测试点|有效耗时172ms
测试结果10: 测试结果错误.错误结果为:156297
4 8 11 19 23 28 29 31 41 46 48 56 61 65 69 86 87 90 100 102 104 108 112 114 117 119 123 124 128 133 134 136 138 140 146 156 157 158 187 190 191 199 202 204 212 214 219 220 234 238 239 240 243 244 245 248 249
正确结果应为:156417
4 8 11 19 23 28 29 31 41 46 48 56 61 65 69 86 87 90 100 102 104 108 112 114 117 119 123 124 128 133 134 136 138 140 143 146 156 157 187 190 191 199 202 204 212 214 219 220 234 238 239 240 243 244 245 248 249
提交代码: program RQ109;
var a,e:array[0..5050]of longint;
f:array[0..5050,0..500] of integer;
i,j,k,m,n,x,y,z,s,max:integer;
begin
read(n,s);
for i:= 1 to n do
begin
read(x,y,z);
x:=x*z;
y:=y*z;
for j:=s-x downto 0 do
if (a[j]<>0)or(j=0) then
if a[j+x]<a[j]+y then
begin
e[j+x]:=e[j]+1;
a[j+x]:=a[j]+y;
for k:= 1 to e[j] do
f[j+x,k]:=f[j,k];
f[j+x,e[j+x]]:=i;
end;
end;
for i:= 1 to s do
if max<a[i] then
begin
max:=a[i];
j:=i;
end;
writeln(a[j]);
for i:= 1 to e[j]-1 do
write(f[j,i],’ ’ );
writeln(f[j,e[j]]);
end.
描述
八(1)班由于在期中考中获得了团体第一名,班主任吴老师决定开一场庆功会。于是购买东西的任务就交给了小李同学(钱由班会出)。由于小李同学四肢发达,头脑简单,于是这个任务便落到了你头上(当然不要你跑腿。跑腿是小李的事 ^_^)
注:可以全买,但不能不买。即至少买1种
输入格式
第一行二个数n(n<=500),m(m<=5000),其中n代表希望购买的物品的种数,m表示班会拨给小李的钱数。
接下来n行,每行3个数,v、w、s,分别表示第I种物品的价格、价值(价格 与 价值 是不同的概念)和购买的数量(只能买0件或s件),其中v<=100,w<=1000,s<=10
输出格式
共两行:
第一行:一个数,表示此次购买能获得的最大的价值(注意!不是价格)。
第二行:小李此次购买(能获得的最大价值)所选择的物品种类的序号。
菜啊我......
program qgh;
var
i,j,k,m,n,s:Longint;
v,p:array[1..510]of longint;
ff,gg:array[0..510,0..5100]of longint;
procedure print(xx,vv:longint);
begin
if xx=0 then exit;
if gg[xx,vv]=1 then begin print(xx-1,vv-v[xx]); write(xx,’ ’); end
else if gg[xx,vv]=0 then print(xx-1,vv);
end;
begin
readln(n,m);
fillchar(ff,sizeof(ff),0);
for i:=1 to n do
begin
readln(v[i],p[i],s);
v[i]:=v[i]*s;
p[i]:=p[i]*s;
end;
for i:=1 to n do
for j:=0 to m do
begin
if j>=v[i] then
begin
if ff[i-1,j]<ff[i-1,j-v[i]]+p[i] then
begin
ff[i,j]:=ff[i-1,j-v[i]]+p[i];
gg[i,j]:=1;
end
else
begin
ff[i,j]:=ff[i-1,j];
gg[i,j]:=0;
end;
end
else
begin
ff[i,j]:=ff[i-1,j];
gg[i,j]:=0;
end;
end;
writeln(ff[n,m]);
print(n,m); writeln;
end.