Luo Gu P1757 Babel grouping backpack

Topic Portal

Problem-solving ideas:

Backpack packet code annotated.

AC Code:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<set>
 4 
 5 using namespace std;
 6 
 7 int n,m,c[1001],w[1001],f[1001],z[1001],p[1001],s[1001][1001];
 8 
 9 int main() {
10     scanf("%d%d",&m,&n);
11     for(int i = 1;i <= n; i++) {
12         scanf("%d%d%d",&c[i],&w[i],&z[i]);
13         p[z[i]]++;
14         s[z[i]][p[z[i]]] = i;
15     }
16     f[0] = 0;
17     for(int o = 1;o <= n; o++)//组数 
18         for(int j = m;j >= 1; j--)//背包容量 
19             for(int i = p[o];i >= 1; i--) //The current set of all articles 
20 is                  IF (J> = C [S [O] [I]])
 21 is                      F [J] = max (F [J], F [JC [S [O] [I]]] + W [ S [O] [I]]);
 22 is      the printf ( " % D " , F [m]);
 23 is      return  0 ;
 24 }

 

Guess you like

Origin www.cnblogs.com/lipeiyi520/p/11616856.html