From d7edad0d7d77b8a03e16ce8cd4f357e7878fd148 Mon Sep 17 00:00:00 2001 From: Joel Date: Thu, 21 Oct 2021 09:23:15 -0300 Subject: [PATCH] mochila --- .gitignore | 1 + Mochila.java | 37 ++++++++++++++++++++++++++++++++++--- SalonBellezaV2.java | 1 - 3 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5241a72 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.class \ No newline at end of file diff --git a/Mochila.java b/Mochila.java index 8a69412..35b4f6b 100644 --- a/Mochila.java +++ b/Mochila.java @@ -29,14 +29,45 @@ public class Mochila { Arrays.sort(cosas, (a,b) -> b.getRatio().compareTo(a.getRatio())); int libre=capacidad; int cantidadLlevarElemento = 0; - for (Objeto objeto : cosas) { - + int index_first_mejor = 0; + int mejor_index =0; + int mejor_benefico = 0; + Objeto objeto; + int beneficio = 0; + while(index_first_mejormejor_benefico){ + mejor_index = index_first_mejor; + mejor_benefico = beneficio; + } + index_first_mejor++; + } + beneficio = 0; + libre = capacidad; + for (int i = mejor_index; i < cosas.length; i++) { + + objeto = cosas[i]; if( objeto.getPeso()<= libre){ cantidadLlevarElemento = Math.floorDiv(libre, objeto.getPeso()); - for (int i = 0; i < cantidadLlevarElemento; i++) { + for (int j = 0; j < cantidadLlevarElemento; j++) { elementos.add(objeto); } libre -= (cantidadLlevarElemento * objeto.getPeso()); + beneficio += (cantidadLlevarElemento * objeto.getValor()); } if(libre==0){ break; diff --git a/SalonBellezaV2.java b/SalonBellezaV2.java index d9e76dd..3c9aab3 100644 --- a/SalonBellezaV2.java +++ b/SalonBellezaV2.java @@ -1,4 +1,3 @@ -package t; public class SalonBellezaV2 { public static void main(String[] args) { Cliente horacio = new Cliente("Horacio","1312","Calle 1"); -- libgit2 0.26.0