Commit d7edad0d by Joel Florentin

mochila

parent 4b3e03e1
*.class
\ No newline at end of file
......@@ -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_mejor<cosas.length){
beneficio = 0;
libre=capacidad;
for (int i = index_first_mejor; i < cosas.length; i++) {
objeto = cosas[i];
if( objeto.getPeso()<= libre){
cantidadLlevarElemento = Math.floorDiv(libre, objeto.getPeso());
libre -= (cantidadLlevarElemento * objeto.getPeso());
if(beneficio==0) index_first_mejor=i;
beneficio += (cantidadLlevarElemento * objeto.getValor());
}
if(libre==0){
break;
}
}
if(beneficio>mejor_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;
......
package t;
public class SalonBellezaV2 {
public static void main(String[] args) {
Cliente horacio = new Cliente("Horacio","1312","Calle 1");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment