260 条题解
-
0hzk LV 8 @ 2009-11-08 10:48:43
program beibao;
var n,m,i,j:integer;
f:array[0..300,0..500] of integer;
w,v:array[1..500] of integer;
function max(a,b:integer):integer;
begin
if a>b then exit(a)
else exit(b);
end;
begin
readln(n,m);
for i:=1 to n do readln(v[i],w[i]);
for i:=1 to n do f:=0;
for j:=1 to m do f[0,i]:=0;
for i:=1 to n do
for j:=1 to m do
if j-w[i]>=0 then f:=max(f,f+v[i])
else f:=f;
writeln(f[n,m]);
end.80分- -
数组开1000过掉 -
02009-11-04 22:20:55@
#include
using namespace std;
const int N=101;
const int M=1001;
int l[N],t[N];
int f[M];
int n,v;
int main()
{
cin>>n>>v;
for (int i=1;i>l[i]>>t[i];
for (int i=1;i=t[i];j--)
f[j]=max(f[j],f[j-t[i]]+l[i]);
cout -
02009-10-30 23:01:38@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms动规从背包抓起。。水题不扫何以扫天下
F[i][j]=max{f[j],f[i][j-t[i]]+w[i]} -
02009-10-30 13:24:39@
program p1025;
var tt,w:array[0..100] of longint;
f:array[0..100,0..100] of longint;
n,t:longint;
i,j,k:longint;
function max(x,y:longint):longint;
begin
if x>=y then max:=x
else max:=y;
end;
begin
readln(n);
readln(t);
for i:=1 to n do
readln(w[i],tt[i]);
for i:=1 to n do
for j:=t downto tt[i] do
f:=max(f,f+w[i]);
writeln(f[n,t]);
end.
程序错误,不要刷 -
02009-10-28 21:18:33@
为什么我的f[0..1001]才能全过???f[0..1000]过不了?
-
02009-10-25 18:24:36@
yes
-
02009-10-24 21:30:15@
囧,先读入价值再读入体积。
-
02009-10-22 20:17:29@
血的教训告诉我说,看题要仔细...不要以为一个朴素的背包你就能一定能写对..
数据范围啊.... -
02009-10-14 00:35:07@
tmd.囧了两个小时,就是数组设置小了。他妈的,gcc编译器也不给个数组越界错误。给我蒙在了谷里。
-
02009-10-09 16:26:14@
program ex_p1025;
var
v,w:array[1..100]of longint;
f:array[0..100,0..1000]of longint;
i,j,m,n,sum:longint;
function max(a,b:longint):longint;
begin
max:=a;
if b>a then max:=b;
end;
begin
read(n);
readln;
read(m);
readln;
for i:=1 to n do
begin
read(w[i],v[i]);
readln;
end;
for i:=1 to n do
for j:=1 to m do
begin
if j-v[i]>=0 then f:=max(f,f+w[i])
else f:=f;
if f>sum then sum:=f;
end;
write(sum);
end.一星半纪念~~~~~~~~~~~~~·
-
02009-10-08 19:52:45@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms#include
int main(void)
{
int n,t,v[101],w[101],f[101][1001],i,j;
scanf("%d%d",&n,&t);
for (i=1;i -
02009-10-07 14:05:59@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
Ps:水是生命之源!!!!! -
02009-10-06 15:32:29@
囧 开心的金明进化版而已
-
02009-09-20 14:36:41@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar
i,j,k,n,m,v,w:longint;
f:array[0..1000] of longint;
begin
readln(n);
readln(m);
for i:=1 to n do
begin
readln(v,w);
for j:=m downto w do
if f[j] -
02009-09-16 13:57:23@
好一瓶纯净水!
-
02009-09-15 18:21:32@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms简单背包
-
02009-09-08 20:11:42@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msconst filename='p1025';
var
n,t,i,j:longint;
w,v:array[1..100]of longint;
f:array[0..1000]of longint;
begin
assign(input,filename+'.in');reset(input);
assign(output,filename+'.out');rewrite(output);
readln(n,t);
for i:=1 to n do
read(w[i],v[i]);
for i:=1 to n do
for j:=t downto v[i] do
if f[j-v[i]]+w[i]>f[j] then f[j]:=f[j-v[i]]+w[i];
writeln(f[t]);
close(input);close(output);
end.我到现在对01背包还是不熟练……一开始我竟然在最后输出f[n]。
我这么弱到底怎么办啊 -
02009-09-08 15:30:00@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msprogram xiao;
var
n,m,x,y,i,j,w:longint;
f:array[1..10000]of longint;
begin
readln(n);
readln(w);
for i:=1 to n do
begin
readln(x,y);
for j:=w downto y do
if f[j-y]+x>f[j] then f[j]:=f[j-y]+x;
end;
writeln(f[w]);
readln;
end.
http://www.cyclone77.cn -
02009-09-07 12:40:48@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar n,t,i,j:integer;
f:array[0..100,0..1000] of integer;
like:array[1..100] of integer;
time:array[1..1000] of integer;
function max(x,y:integer):integer;
begin
if x>y then max:=x else max:=y;
end;
begin
readln(n);readln(t);
for i:=1 to n do readln(like[i],time[i]);
fillchar(f,sizeof(f),0);
for i:=1 to n do begin
for j:=1 to t do
if j>=time[i] then
f:=max(f+like[i],f)
else f:=f;
end;
writeln(f[n,t]);
end.我快成背包王了
-
02009-08-28 22:11:27@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar f:array[0..1000] of longint;
i,j,n,d,t,tt:longint;
begin
readln(n);
readln(tt);
for i:=1 to n do
begin
read(d,t);
for j:=tt downto t do
if f[j]