Knapsack Problem
Lección 7 de 15 del curso Desafíos de recursividad - Domina el pensamiento recursivo de Coddy.
Desafío
IntermedioEl problema de la mochila es un problema famoso.
En este problema, tienes una mochila que tiene un peso predefinido que puede soportar e ítems donde cada ítem tiene un peso y un valor.
Tu tarea es obtener el mayor valor posible dentro de los límites del peso de la mochila.
Por ejemplo,
values - [20, 5, 40, 10, 15]
weights - [1, 2, 8, 3, 7]
Peso de la mochila - 10
La solución es tomar los ítems con los pesos 1 y 8 y los valores 20 y 40.
El valor máximo es 60, y el peso total es 9 (que es menor o igual a 10, lo que significa que es un peso válido).
Escribe una función llamada knapsack que reciba un entero W y dos arreglos de enteros values y weights y devuelva la solución para el problema de la mochila utilizando los valores de entrada (el valor máximo que la mochila puede contener).
Pruébalo tú mismo
#include <stdio.h>
#include <stdlib.h>
int knapsack(int W, int* values, int values_size, int* weights, int weights_size) {
// Escribe el código aquí
return 0;
}
Todas las lecciones de Desafíos de recursividad - Domina el pensamiento recursivo
2Medium Challenges
Knapsack ProblemNumber of SquaresInterleaving ResultSum CombinationsFind TripletSplit Array