Buenas!
Necesito mezclar un array de valores aplicando unas restricciones en cuanto a las posiciones resultantes.
Por ejemplo:
· Tengo un array arrayA con los siguientes valores:
arrayA = {a, b, c, d, e}
· Tengo un array de restricciones arrayR donde cada posición almacena una pareja de valores:
arrayR = {{a, c}, {c, a}, {b, d}, {d, b}}
El array resultante que necesito conseguir es aquel donde el valor de la posición i no vaya a parar a la posición j si en el vector de restricciones tengo una entrada tal que arrayR[x] = {arrayA[i], arrayA[j]}.
No creo que con un simple suffle() me sirva, asi que he pensado en otras maneras de hacerlo. Entre ellas generar una lista de todos los arrays posibles resultantes y cojer de ahi uno al azar... Aunque esto me podría aumentar bastante el coste temporal, ya que seria generar todas las permutaciones posibles, para cada resultado comprobar todas las restricciones una a una y al final quedarme con un solo array.
Alguna otra idea?
Gracias!!