USACO 3.1.2 Score Inflation (完全背包)

USACO 3.1.2 Score Inflation (完全背包)
标准的完全背包问题。练练手吧。

/**/ /*
ID: lorelei3
TASK: inflate
LANG: C++
*/


#include 
< fstream >

using   namespace  std;

int  f[ 10005 ], mark[ 10005 ], cost[ 10005 ];
int  N,V;

int  main() {
    
int i,j;

    ifstream fin(
"inflate.in");
    ofstream fout(
"inflate.out");

    fin
>>V>>N;

    
for(i=1; i<=N; ++i)
        fin
>>mark[i]>>cost[i];

    
for(i=1; i<=N; ++i)
        
//complete pack
        for(j=cost[i]; j<=V; ++j)
            
if(f[j]<f[j-cost[i]]+mark[i])
                f[j] 
= f[j-cost[i]]+mark[i];

    fout
<<f[V]<<endl;
    
return 0;
}

你可能感兴趣的:(USACO 3.1.2 Score Inflation (完全背包))