Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/04/2015, 21:39
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Programa para equipos

buenas...
la naturaleza del tema me resulta un ejercicio interesante, asi que no pude evitar intentarlo. solo que lo hice en lapiz y papel con diferentes secuencias tratando de buscar un patron. mas o menos este es el modelo que tengo:
  • reparte todos los numeros en dos grupos. puede ser aleatorio, secuencial, de uno en uno, u otro metodo. no importa el metodo, pues el objetivo principal no es darle un orden a los grupos.
  • intercambia (swap) los valores de la misma posicion en ambos arrays, moviendo el numero mayor hacia el array que la suma sea menor.
  • repites el proceso de intercambio con el resto de las posiciones hasta que la diferencia de ambos arrays se aproxime al limite de lo que se considera "estable". en tu ejemplo, -5 a 5.

no digo que sea el mejor metodo, pero quizas sea bastante razonable. la diferencia con el metodo de alexis es que su algoritmo desde un principio va asignando los valores en condicion de la suma computada. tampoco parte de la premisa de balancear la carga asignando los numeros mayores en distintos grupos. si bien entiendo el argumento valido de que los valores mayores (mejores del equipo) son la base del grupo, en teoria los grupos se balancean cuando la suma son lo suficiente similar.

luego de tenerlo funcionando y para complicar mas el ejercicio, lo interesante seria generalizar el algoritmo para que dado X numeros, los reparta en partes iguales para X numero de grupos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.