跪求看

P1757 通天之分组背包

希望更丰富的展现?使用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


|