168 条题解

  • 0
    @ 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.

  • 0
    @ 2009-02-04 22:04:51

    我是直接把采药改造后AC,不知大家怎么看

  • 0
    @ 2009-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

    简单的二维背包

  • 0
    @ 2008-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.

  • 0
    @ 2008-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]

  • 0
    @ 2008-11-12 21:13:40

    为什么要downto 0?

  • 0
    @ 2008-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

  • 0
    @ 2008-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

  • 0
    @ 2008-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

  • 0
    @ 2008-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

  • 0
    @ 2008-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次。。。。。。

  • 0
    @ 2008-11-04 11:37:36

    超级典型的背包问题

    二位数组解决

  • 0
    @ 2008-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]}

  • 0
    @ 2008-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背包的二维,基础题。。。

    没过的同学要加油哟~~

  • 0
    @ 2008-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....

  • 0
    @ 2008-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

  • 0
    @ 2008-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

  • 0
    @ 2008-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.

  • 0
    @ 2008-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

    简单的背包

  • 0
    @ 2008-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

信息

ID
1334
难度
2
分类
动态规划 | 背包 点击显示
标签
(无)
递交数
2920
已通过
1747
通过率
60%
被复制
5
上传者