#include <iostream>
#include <vector>
using namespace std;
int bruteForceKnapsack(const vector<int>& weights, const vector<int>& values, int capacity) {
int n = weights.size();
int maxProfit = 0;
for (int i = 0; i < (1 << n); i++) {
int currentWeight = 0;
int currentProfit = 0;
for (int j = 0; j < n; j++) {
if (i & (1 << j)) {
currentWeight += weights[j];
currentProfit += values[j];
}
}
if (currentWeight <= capacity && currentProfit > maxProfit) {
maxProfit = currentProfit;
}
}
return maxProfit;
}
int main() {
vector<int> weights = {2, 3, 4, 5};
vector<int> values = {3, 4, 5, 6};
int capacity = 5;
int result = bruteForceKnapsack(weights, values, capacity);
cout << "背包问题的最大价值:" << result << endl;
return 0;
}