184 条题解

  • 0
    @ 2008-11-08 17:25:15

    #include

    #include

    #include

    #include

    using namespace std;

    struct{

    int v,w;

    int number;

    }obj[61][3];

    int t[61];

    int tot;

    int dp[61][33000];

    int n,m;

    fstream ifile("1.in"), ofile("1.out");

    int max(int i, int j){

    return i>j?i:j;

    }

    int main(){

    memset(t, 0, sizeof(t));

    memset(obj, 0, sizeof(obj));

    tot=0;

    int tv,tw,fa;

    ifile >> n >> m;

    for (int i=1; i> tv >> tw >> fa;

    if (fa == 0){

    tot++;

    obj[tot][t[tot]].v=tv; obj[tot][t[tot]].w=tw; obj[tot][t[tot]].number=i;}

    else {

    for (int k=1; k= (obj[i][0].v + obj[i][2].v))

    dp[i][j]=max(dp[i][j], dp[j-obj[i][0].v-obj[i][2].v]

    +obj[i][0].v*obj[i][0].w+obj[i][2].v*obj[i][2].w);

    if (j >= (obj[i][0].v + obj[i][2].v+obj[i][1].v))

    dp[i][j]=max(dp[i][j], dp[j-obj[i][0].v-obj[i][2].v-obj[i][1].v]

    +obj[i][0].v*obj[i][0].w+obj[i][2].v*obj[i][2].w+obj[i][1].v*obj[i][1].w);

    }

    ofile

  • 0
    @ 2008-11-07 15:07:29

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var

    f:array[0..3200]of longint;

    a,w:array[1..60,0..4]of longint;

    q:array[1..60]of integer;

    n,m,i,j,k,v,p:integer;

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

    begin

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

    end;

    begin

    readln(n,m);

    n:=n div 10;

    fillchar(f,sizeof(f),0);

    fillchar(a,sizeof(a),0);

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

    for i:=1 to m do

    begin

    readln(v,p,q[i]);

    v:=v div 10;

    p:=p*v;

    if q[i]=0 then

    begin

    a:=1;

    a:=p;

    w:=v;

    end

    else

    begin

    k:=q[i];

    a[k,0]:=a[k,0]+1;

    a[k,a[k,0]]:=a[k,1]+p;

    w[k,a[k,0]]:=w[k,1]+v;

    if a[k,0]=3 then

    begin

    a[k,0]:=4;

    a[k,4]:=a[k,2]+a[k,3]-a[k,1];

    w[k,4]:=w[k,2]+w[k,3]-w[k,1];

    end;

    end;

    end;

    for i:=1 to m do

    if q[i]=0 then

    for j:=n downto 1 do

    for k:=1 to a do

    if j>=wthen

    f[j]:=max(f[j],f[j-w]+a);

    f[n]:=f[n]*10;

    write(f[n]);

    end.

    字字看来皆是血,两天辛苦不寻常!!

  • 0
    @ 2008-11-04 09:36:53

    PROGRAM jinming;

    VAR

    m,n,x,i,t1,t2,j,k1,k2,k3:longint;

    w,v:array[0..60,0..2] of longint;

    f:array[0..32000]of longint;

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

    begin

    max:=a;

    if b>max then max:=b;

    end;

    BEGIN

    readln(n,m);

    fillchar(f,sizeof(f),0);

    t1:=0;

    for i:=1 to m do begin

    readln(k1,k2,k3);

    if k3=0 then begin

    inc(t1);

    w:=k2;

    v:=k1;

    end

    else begin

    t2:=1;

    while w[k3,t2]0 do inc(t2);

    w[k3,t2]:=k2;

    v[k3,t2]:=k1;

    end;

    end;

    for i:=1 to m do

    for j:=n downto v do begin

    f[j]:=max(f[j],

    f[j-v]+w*v);

    if (v0)and(j>=v+v)then

    f[j]:=max(f[j],

    f[j-v-v]+w*v+w*v);

    if v0 then begin

    if (j>=v+v)then

    f[j]:=max(f[j],

    f[j-v-v]+w*v+w*v);

    if (j>=v+v+v)then

    f[j]:=max(f[j],

    f[j-v-v-v]+w*v+w*v+w*v);

    end;

    end;

    write(f[n]);

    END.

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    开始时理解错题...以为如果不是附件那么主件标号就不加...附件对应的主件也就不同...结果主件编号是对应行号的...

    调了至少2hours...还白调了...郁闷ing...

  • 0
    @ 2008-11-01 23:31:21

    y和z打错

    wA了3变...........................郁闷中

    思路很简单,

    把主件扫一编背包就可以了

  • 0
    @ 2008-11-01 10:43:04

    编译通过...

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

    编译通过...

    ├ 测试数据 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-29 20:34:31

    #include

    #include

    int mon[200];

    int father[200];

    int w[200];

    int n;

    int cash;

    int f[200][3800];

    char d[200];

    int main()

    {

    memset(f,0,sizeof(f));

    memset(d,0,sizeof(d));

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

    cash/=10;

    int i,j,k,son;

    for(i=1; i

  • 0
    @ 2008-10-28 22:35: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-10-28 20:39:40

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    LS,我也是读错数据跟了半天啊。。。

  • 0
    @ 2008-10-22 21:13:33

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    刚开始的时候数据的下标读错了害我改了老半天

    残念啊!

    program a123;

    var money,imp:array[1..60,0..2] of longint;

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

    m,n,x:integer;

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

    begin

    max:=a;

    if a=0 then

    f[j]:=max(f[j-money]+money*imp,f[j]);

    if (money0) and (j-money-money>=0) then

    f[j]:=max(f[j-money-money]+money*imp+money*imp,f[j]);

    if money0 then

    begin

    if j-money-money>=0 then

    f[j]:=max(f[j-money-money]+money*imp+money*imp,f[j]);

    if j-money-money-money>=0 then

    f[j]:=max(f[j-money-money-money]+money*imp+money*imp+money*imp,f[j]);

    end;

    end;

    end;

    Begin

    start;

    dong;

    writeln(f[n]*10);

    end.

  • 0
    @ 2008-10-22 10:33:25

    编译通过...

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

     ├ 错误行输出

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

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

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

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

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

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

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

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

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

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

    Unaccepted 有效得分:90 有效耗时:0ms

    程序:

    program yusuan;

    var

    v,p,q:array[1..60]of longint;

    n,m,i,j,shu,max1,max2,jia1,jia2:longint;

    f:array[0..60,-1..32000] of longint;

    zhu,jia:array[0..60,1..4]of longint;

    function max(a,b,c,d,e:longint):longint;

    begin

    max:=a;

    if b>max then max:=b;

    if c>max then max:=c;

    if d>max then max:=d;

    if e>max then max:=e;

    end;

    function chose(a:longint):longint;

    begin

    chose:=a;

    if ajia then

    f:=max(f,(f[i-1,j-jia]+zhu),(f[i-1,chose(j-jia)]+zhu),(f[i-1,chose(j-jia)]+zhu),(f[i-1,chose(j-jia)]+zhu))

    else f:=f;

    end;

    end;

    begin

    readln(n,m);

    for i:=1 to m do

    begin

    readln(v[i],p[i],q[i]);

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

    end;

    shu:=0;

    for i:=0 to n do

    f[0,i]:=0;

    for i:=0 to m do

    f:=-9999999;

    yuchuli;

    beibao;

    writeln(f[shu,n]);

    end.

    哪个大牛知道为什么啊

  • 0
    @ 2008-10-19 14:28:38

    编译通过...

    ├ 测试数据 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-17 13:37:01

    随便写个泛化背包就过了

  • 0
    @ 2008-10-11 13:54: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 20:58:15

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    为什么同一个程序两次一个 0MS 一个728MS

    一个 212MS 一个0MS

    ...............

  • 0
    @ 2008-10-09 20:09:50

    编译通过...

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

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

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

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

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

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

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

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

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

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

    8 9.............垃圾...

  • 0
    @ 2008-10-01 15:10:59

    编译通过...

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

    编译通过...

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2008-09-30 09:40:03

    好水的题...

    一次性编译,一次性秒杀...

  • 0
    @ 2008-09-29 16:53:54

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

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

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

     ├ 错误行输出

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

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

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

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

     ├ 错误行输出

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

     ├ 错误行输出

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

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

信息

ID
1313
难度
6
分类
动态规划 | 背包 点击显示
标签
递交数
8324
已通过
2464
通过率
30%
被复制
20
上传者