Hola, estoy atascado tratando de repartir unos elementos entre distintas categorías, llevo ya bastantes horas y creo que toca pedir ayuda xD
Tengo una lista de elementos (por ejemplo fruta), ordenados por una determinada propiedad (por ejemplo precio). Necesito dividirlas en 5 categorías ponderadas por precio y luego repartirlas entre varias cajas según su color.
La repartición ponderada la tengo hecha. Si tengo 100 frutas, la primera categoría contendrá las 20 más caras, la siguiente 40, la siguiente 80 y así. No es exactamente el doble pues depende del total pero la repartición la tengo correctamente.
Cada caja debe recibir una cantidad exacta en cada una:
- Caja frutas rojas: 2 frutas
- Caja frutas verde: 4 frutas
- Caja frutas amarillas: 6 frutas
- Caja frutas azules: 3 frutas
Estas frutas deben ser de las siguientes categorías:
- Categoría 1: 1 fruta
- Categoría 2: 2 frutas
- Categoría 3: 3 frutas
- Categoría 4: 4 frutas
- Categoría 5: 5 frutas
El fallo en el algoritmo que tengo ahora es que si he agotado las frutas de categoría 1 en la caja verde y todas las frutas rojas son de categoría 1, no podré tener ninguna roja.
No sé si se entiende muy bien. Si no es así, intentaré hacer un dibujo más claro, pero a esta hora no se me ocurre mejor explicación xD
Gracias!
Edito: he puesto colores en vez de numeración para que se entienda algo mejor.