~~高仿~~出错了??

P1064 [NOIP2006 提高组] 金明的预算方案

BeingErnest @ 2018-10-31 13:00:39

作为一个在洛谷上先看题解仔细专研的人,最烦的便是看不出错了

int f[32001],w[61][3],v[61][3];
bool b[61];
using namespace std;
int main()
{
int n,m,bate=0;
memset(w,0,sizeof(w));
memset(v,0,sizeof(v));
memset(f,0,sizeof(f));
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++)
{
    int x,y,z;
    scanf("%d%d%d",&x,&y,&z);
    if(z==0)
    {
        bate++;
        w[bate][0]=x;
        v[bate][0]=x*y;
    }
    else
    {
        int s=1;
        if(w[z][1]!=0) s=2;
        w[z][s]=x;
        v[z][s]=x*y;
    }
}
for(int i=1;i<=bate;i++)
{
    for(int j=n;j>=w[i][0];j--)
    {
        if(j-w[i][0]>=0) 
            f[j]=max(f[j],f[j-w[i][0]]+v[i][0]);
        if(j-w[i][0]-w[i][1]>=0) 
            f[j]=max(f[j],f[j-w[i][0]-w[i][1]]+v[i][0]+v[i][1]);
        if(j-w[i][0]-w[i][2]>=0) 
            f[j]=max(f[j],f[j-w[i][0]-w[i][2]]+v[i][0]+v[i][2]);
        if(j-w[i][0]-w[i][1]-w[i][2]>=0) 
            f[j]=max(f[j],f[j-w[i][0]-w[i][1]-w[i][2]]+v[i][0]+v[i][1]+v[i][2]);
    }
}
printf("%d",f[n]);
return 0;
}

by brealid @ 2018-10-31 13:04:52

@ chen_zhe 这里有一个自首的


by BeingErnest @ 2018-10-31 13:06:54

@航空信奥 你怕是刁难我 那你看看跟原本有什么区别


by brealid @ 2018-10-31 13:09:10

所以我并没有@,中间空了一个空格


by BeingErnest @ 2018-10-31 13:10:37

@航空信奥 我不知道, 请你帮帮我


by BeingErnest @ 2018-10-31 13:11:31

学编程真的很折腾人啊


by brealid @ 2018-10-31 13:13:00

我先看看@铭玘


|