如下是我的代码:
#include<bits/stdc++.h>
using namespace std;
int f[505][1005];
int c[105],x[105],y[105];
int n,v;
int main(){
// freopen("N1.txt","r",stdin);
cin>>n>>v;
for(int i=1;i<=n;++i) cin>>c[i]>>x[i]>>y[i];
memset(f,-0x7f,sizeof(f));
f[0][500]=0;
for(int k=1;k<=n;++k){
for(int i=v;i>=c[k];--i){
if(x[k]>0){
for(int j=min(1000,1000+x[k]);j>=max(0,x[k]);--j){
f[i][j]=max(f[i][j],f[i-c[k]][j-x[k]]+y[k]);
}
}
else{
for(int j=max(0,x[k]);j<=min(1000,1000+x[k]);++j){
f[i][j]=max(f[i][j],f[i-c[k]][j-x[k]]+y[k]);
}
}
}
}
int ans=-1e8;
for(int i=0;i<=v;++i){
for(int j=500;j<=1000;++j) ans=max(ans,f[i][j]);
}
cout<<max(ans,-1);
return 0;
}
可以看到我对小明的喜爱度为正/负做了分类讨论,但当我不分类,统一倒着枚举时仍然AC,是数据过水还是本来就没有影响?