题解

203 条题解

  • 0
    @ 2008-11-12 13:13:56

    水题不想做

    交了两个人的标程都错了

    恶心

  • 0
    @ 2008-11-10 11:45:06

    program happy;

    var

    f:array[0..100,0..30000]of longint;

    i,j,n,wei,k:longint;

    p,w:array[0..100]of longint;

    begin

    readln(wei,k); fillchar(f,sizeof(f),0);

    fillchar(p,sizeof(p),0); fillchar(w,sizeof(w),0);

    for i:=1 to k do readln(w[i],p[i]);

    for i:=1 to k do

    for j:=1 to wei do

    begin

    if w[i]>j then f:=f else

    begin

    if ((f)>(f+p[i]*w[i])) then

    f:=f else

    f:=f+p[i]*w[i];

    end;

    end;

    writeln(f[k,wei]);

    end.

  • 0
    @ 2008-11-08 18:02:50

    60分

    有人知道为啥错吗

    program jinmin;

    var

    a:array[1..30000] of longint;

    i,j,k,n,c,b,m:integer;

    f1,f2:text;

    begin

    read(n,m);

    for i:=1 to m do begin

    read(c,b);

    a[c]:=b*c;

    for j:= n-c downto 1 do

    if j+ca[j+c]) then a[j+c]:=a[j]+a[c];

    end;

    for i:=n downto 1 do

    if a[i]0 then begin

    writeln(a[i]);

    break;

    end;

    end.

  • 0
    @ 2008-11-05 10:32:39

    0/1背包变形= =....一次A了 = =

    读入的时候p[i]:=p[i]*v[i]就好了= =... 其他一样^

  • 0
    @ 2008-11-04 12:36:40

    #include

    using namespace std;

    int main()

    {

    int have,money[25],things,vip[25],i,j,test,ok=0,pie;

    cin>>have>>things;

    for(i=0;i>money[i]>>vip[i];

    for(i=0;i

  • 0
    @ 2008-11-03 16:04:50

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    庆祝50题纪念日...................好高兴!!!!!!

  • 0
    @ 2008-11-02 19:15:24

    program happy;

    var war:array[0..30000]of longint;

    im:array[0..25]of longint;

    co:array[0..25]of integer;

    i,j,n,m,s,x:integer;

    begin

    readln(n,m);

    fillchar(war,sizeof(war),0);

    s:=0;

    for i:=1 to m do

    readln(co[i],im[i]);

    for i:=1 to m do

    for j:=n downto 1 do

    begin

    if (co[i]war[j]) then

    begin

    war[j]:=im[i]*co[i]+war[j-co[i]];

    end;

    end;

    write(war[n]);

    end.

  • 0
    @ 2008-11-02 10:24:15

    水题一道

  • 0
    @ 2008-11-01 16:12:36

    编译通过...

    ├ 测试数据 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-01 11:27:46

    program vijos1317;

    var n,m,i,j,o:integer;

    a:array[1..25,1..2]of longint;

    f:array[0..30000,0..25]of longint;

    function max(x,y:longint):longint;

    begin

    if x>y then max:=x else max:=y;

    end;

    begin

    readln(n,m);

    for i:=1 to m do

    begin

    readln(a,o);

    a:=a*o;

    end;

    for i:=1 to n do

    for j:=1 to m do

    if (i>=a[j,1])then f:=max(f[i-a[j,1],j-1]+a[j,2],f)

    else f:=f;

    writeln(f[n,m]);

    readln;

    end.

  • 0
    @ 2008-11-01 11:02:40

    0/1背包基础问题

    一次性AC!呵呵,高兴哈

  • 0
    @ 2008-10-25 23:58:22

    为什么错了

    #include "stdio.h"

    long a[35][2],v[35][2];

    long max, n, i, min, m, j, now, con, con1, p;

    int read(){

    scanf( "%d %d", &max, &n );

    for( i=1; i

  • 0
    @ 2008-10-25 10:55:09

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    010101010101010101010101010101010101010101010101010101010101010101

  • 0
    @ 2008-10-20 20:57:18

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    开成20了 WA了一次

    ~~~~(>_

  • 0
    @ 2008-10-20 17:02:59

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    又AC掉一个带包的

  • 0
    @ 2008-10-13 22:17:51

    0/1背包

  • 0
    @ 2008-10-12 22:42:06

    编译通过...

    ├ 测试数据 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-12 20:07:00

    program Project1;

    var dp:array[1..30000]of longint;

    v,w:array[1..10000]of longint;

    n,vmax,i,j,p:longint;

    function max(a,b:longint):longint;

    begin

    if a>b

    then exit(a)

    else exit(b);

    end;

    begin

    readln(vmax,n);

    fillchar(v,sizeof(v),0);

    fillchar(w,sizeof(w),0);

    fillchar(dp,sizeof(dp),0);

    for i:=1 to n do

    begin

    read(v[i],p);

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

    end;

    for i:=1 to n do

    for j:=vmax downto 1 do

    if j>=v[i]

    then dp[j]:=max(dp[j],dp[j-v[i]]+w[i]);

    p:=0;

    for i:=1 to vmax do

    p:=max(p,dp[i]);

    write(p);

    end.

  • 0
    @ 2008-10-11 23:05:18

    一次么优化交上去..竟然ac了。。。。

    for i:=1 to m do

    for j:=n downto a do

    if (a*a+f[j-a,2]>f[j,2])and(f[j-a,1]+a

  • 0
    @ 2008-10-11 13:45:45

    终于AC,附上一下 错误 代码 原因 大家引以为戒 哦 sb(注意是错的大家别粘)

    本以为这题简单的 找出错误原因了 大家注意啦 ——燕麦!

    编译通过...

    ├ 测试数据 01:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 02:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 06:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 07:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 08:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 09:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 10:答案正确... 0ms

    var

    n,m:integer;

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

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

    i,j,total,q:longint;

    begin

    readln(n,m);

    for i:=1 to m do begin readln(v[i],p[i]); cheng[i]:=v[i]*p[i]; end;

    for j:=1 to m do

    for i:=1 to m-1 do

    if (cheng[i]v)) then

    begin

    q:=cheng[i]; cheng[i]:=cheng; cheng:=q;

    q:=v[i]; v[i]:=v; v:=q;

    end;

    for i:=1 to m do

    if v[i]

信息

ID
1317
难度
3
分类
动态规划 | 背包 点击显示
标签
递交数
6628
已通过
3339
通过率
50%
被复制
31
上传者