168 条题解
-
0SuperTyphoon LV 8 @ 2009-02-18 12:42:58
Water Problem Is My Favorite !!
program tt;
var i,j1,j2,n,m1,m2,a,b,k:integer;
c:array[0..400,0..400]of longint;
begin
readln(m1,m2);
readln(n);
for i:=1 to n do begin
readln(a,b,k);
for j1:=m1 downto a do
for j2:=m2 downto b do
if c[j1-a,j2-b]+k>c[j1,j2] then
c[j1,j2]:=c[j1-a,j2-b]+k;
end;
writeln(c[m1,m2]);
readln;
end. -
02009-02-04 22:04:51@
我是直接把采药改造后AC,不知大家怎么看
-
02009-01-10 20:43:24@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms简单的二维背包
-
02008-11-13 22:56:16@
与楼下的一样,也是740是700
var
i,j,k,vv,mm,num:longint;
v,m,w:array[0..401] of longint;
f:array[0..401,0..401] of longint;begin
readln(vv,mm);
readln(num);
for i:=1 to num do readln(v[i],m[i],w[i]);for i:=1 to num do
for j:=vv downto v[i] do
for k:=mm downto m[i] do
if (j>v[i]) and (k>m[i]) and (f[j-v[i],k-m[i]]+w[i]>f[j,k])
then f[j,k]:=f[j-v[i],k-m[i]]+w[i];
writeln(f[vv,mm]);
end. -
02008-11-13 13:13:31@
为什么740那一组我会输出700。。。。
大牛们帮我看一下我的程序吧。。
program xiaofeiji;
var
i,j,k,l,v,m,n,max,j1:integer;
sum:array[0..400,0..400]of integer;
a:array[1..50,1..3]of integer;
begin
read(v,m);
read(n);
for i:=1 to n do
read(a,a,a);
for i:=1 to n do
begin
for j:=v downto 0 do
begin
max:=0;
for j1:=m downto 0 do
begin
if ((j-a)>0) and((j1-a)>0) then
begin
if sum[j,j1] -
02008-11-12 21:13:40@
为什么要downto 0?
-
02008-11-11 22:26:35@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-11-11 20:09:54@
二重背包
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
---|---|---|---|---|---|---|---|-
#include
#define maxn 50
#define maxV 400
#define maxU 400
using namespace std;
int V,U,N,a[maxn+10],b[maxn+10],w[maxn+10];
int f[maxV+10][maxU+10];
int main()
{
int i,j,k;
cin>>V>>U>>N;
for(i=1;i>a[i]>>b[i]>>w[i];
for(i=1;i=a[i];j--)
for(k=U;k>=b[i];k--)
f[j][k]=max(f[j-a[i]][k-b[i]]+w[i],f[j][k]);
int b=0;
for(j=0;j -
02008-11-10 15:40:31@
TOO WATRE LE BAAAAA!
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-11-06 14:19:35@
#include
#define maxn 50
#define maxV 400
#define maxU 400
long V,U,N,a[maxn+10],b[maxn+10],w[maxn+10],f[maxV+10][maxU+10];
int main()
{
long i,j,k,ans;
scanf("%ld%ld%ld",&V,&U,&N);
for(i=1;i=b[i];--k)
if(f[j-a[i]][k-b[i]]+w[i]>f[j][k])
f[j][k]=f[j-a[i]][k-b[i]]+w[i];
ans=0;
for(j=0;j -
02008-11-04 22:59:16@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
暴汗。。。把另一个背包的程序改了改交上来 结果数组范围没改全乎居然WA了1次。。。。。。 -
02008-11-04 11:37:36@
超级典型的背包问题
二位数组解决 -
02008-10-31 22:25:41@
var v,m,w:array[1..50] of longint;
i,j,k,n,vmax,mmax:longint;
f:array[0..400,0..400] of longint;begin
readln(vmax,mmax);
readln(n);
for i:=1 to n do
readln(v[i],m[i],w[i]);for i:=1 to n do
for j:=vmax downto 0 do
for k:=mmax downto 0 do
begin
if (j>=v[i]) and (k>=m[i]) and (f[j-v[i],k-m[i]]+w[i]>f[j,k]) then
f[j,k]:=f[j-v[i],k-m[i]]+w[i];
end;writeln(f[vmax,mmax]);
end.
二维背包
状态转移方程
f[i][v]=max{f[v],f[v-a[i]]+w[i]} -
02008-10-29 21:04:23@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms基本的01背包的二维,基础题。。。
没过的同学要加油哟~~ -
02008-10-27 23:04:24@
编译通过...
├ 测试数据 1:答案正确... ms
├ 测试数据 2:答案正确... ms
├ 测试数据 3:答案正确... ms
├ 测试数据 4:答案正确... ms
├ 测试数据 5:答案正确... ms
├ 测试数据 6:答案正确... ms
├ 测试数据 7:答案正确... ms
├ 测试数据 8:答案正确... ms
├ 测试数据 9:答案正确... ms├ 测试数据 1:答案正确... ms
Accepted 有效得分:1 有效耗时:ms
HUHU....
-
02008-10-20 14:47:20@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 103ms
├ 测试数据 07:答案正确... 9ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:112ms
#include
using namespace std;
int f[401][401];
int c[51],w[51],p[51];
int main(){
int weight,cubage;
int n;
cin>>cubage>>weight>>n;
for(int i=1;i>c[i]>>w[i]>>p[i];
for(int i=1;i=c[i];j--)
for(int k=weight;k>=w[i];k--)
f[j][k]=max(f[j-c[i]][k-w[i]]+p[i],f[j][k]);
cout -
02008-10-17 21:39:08@
program p1334;
var f:array[0..400,0..400] of longint;
n:integer;
v,h:integer;
i,j,k:integer;
x,y,value:integer;
begin
readln(v,h);
readln(n);
fillchar(f,sizeof(f),0);
for k:=1 to n do
begin
readln(x,y,value);
for i:=v-x downto 0 do
for j:=h-y downto 0 do
if f -
02008-10-16 16:41:05@
program p1334;
var f:array[0..400,0..400]of longint;
w:array[0..100]of integer;
v:array[0..100]of integer;
kll:array[0..100]of integer;
n,i,j,k,t,maxv,maxw:longint;
ans:longint;
begin
readln(maxv,maxw);
readln(n);
for i:=1 to n do
begin
readln(v[i],w[i],kll[i]);
for j:=maxv downto v[i] do
for k:=maxw downto w[i] do
if f[j,k]ans then ans:=f;
writeln(ans);
end. -
02008-10-16 08:13:23@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
简单的背包 -
02008-10-09 18:49:16@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms