Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/04/2015, 13:37
Pantaláimon
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 17 años, 9 meses
Puntos: 32
Respuesta: Programa para equipos

Interesante.

No lo he comprobado pero intuyo que para obtener el resultado óptimo deberías ordenar las personas según su puntuación de mayor a menor.

Luego deberías ir cogiendo repetidamente la persona con mayor puntuación y ponerla en el grupo que la suma sea de menor puntuación hasta que hayas repartido todas la personas en los dos grupos.

Edit: no es el algoritmo optimo. Por ejemplo hay las siguientes puntuaciones
51,49,35,32,31
Según mi algoritmo quedaría:
Grupo A: 51, 32, 31
Grupo B: 49, 35

Cuando
Grupo A: 51, 49
Grupo B: 35, 32, 31
es una repartición mejor.

Supongo que habrá que usar algún algoritmo de grafos.
Un saludo!
__________________
github.com/xgbuils | npm/xgbuils

Última edición por Pantaláimon; 07/04/2015 a las 13:44