希望更丰富的展现?使用Markdown
by w23c3c3 @ 2018-12-06 13:46:27
```c
#include<iostream>
using namespace std;
long long v, n, t[101];
long long w[2001];
long long c[2001];
long long a[2001][2001];
long long f[2001];
long long x=0;
int main(){
cin>>v>>n;
for (int i = 1; i <= n; i++){
int p;
cin>>w[i]>>c[i]>>p;
if(t[p]==0){
t[p]=1;
x++;
}
a[p][++a[p][0]] = i;
}
for (int k = 1; k <= x; k++){
for (int j = v; j >= 0; j--){
for (int i = 1; i <= a[k][0]; i++){
if (j >= w[a[k][i]]) {
int u= a[k][i];
f[j]=max(f[j],f[j-w[u]]+c[u]);
}
}
}
}
cout<<f[v];
}
```
by YmloveYs @ 2018-12-06 13:52:17
缩进好评。
by 用户已注销 @ 2018-12-06 14:44:08
```cpp
#include<iostream>
using namespace std;
int v, n, t[101];
int w[2001];
int c[2001];
int a[2001][2001];
int f[2001];
int x=0;
int main(){
cin>>v>>n;
for (int i = 1; i <= n; i++){
int p;
cin>>w[i]>>c[i]>>p;
if(t[p]==0){
t[p]=1;
x++;
}
a[p][++a[p][0]] = i;
}
for (int k = 1; k <= x; k++){
for (int j = v; j >= 0; j--){
for (int i = 1; i <= a[k][0]; i++){
if (j >= w[a[k][i]]) {
int u= a[k][i];
f[j]=max(f[j],f[j-w[u]]+c[u]);
}
}
}
}
cout<<f[v];
}
```
by Grace25 @ 2020-10-30 18:35:02