Pagini recente » Rating Adelin Stoican (adelinnn) | Cod sursa (job #1136189) | Cod sursa (job #968486) | Cod sursa (job #879226) | Cod sursa (job #2493848)
//Solutie bruta O(2^n)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,greutate,weight[10001],cost[10001],i;
int rucsac(int n, int c)
{
int rezultat,obiect1,obiect2;
if(n==0 || c==0)
rezultat=0;
else
if(weight[n]>c)
rezultat=rucsac(n-1,c);
else
{
obiect1=rucsac(n-1,c);
obiect2=cost[n]+rucsac(n-1,c-weight[n]);
rezultat=max(obiect1,obiect2);
}
return rezultat;
}
int main()
{
f>>n>>greutate;
weight[0]=cost[0]=0;
for(i=1;i<=n;i++)
f>>weight[i]>>cost[i];
g<<rucsac(n,greutate);
return 0;
}