Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/05/2016, 15:17
Avatar de xKuZz
xKuZz
 
Fecha de Ingreso: febrero-2015
Ubicación: nullptr
Mensajes: 183
Antigüedad: 9 años, 9 meses
Puntos: 27
Respuesta: Saber todas las combinaciones posibles de un tablero

Perdona, no toco mucho el C sin el ++, jeje.
el 4! hace referencia 4 factorial que es el número de permutaciones sin repeticiones posibles sin repetición de {1,2,3,4}, como te ha indicado eferion

El esquema de fuerza bruta usado es el siguiente:

Para cada permutación de {1,2,3,4}
Si es factible, lo muestro como solución por pantalla.

Una permutación es factible si: (Esto es fácil de comprobar con papel y boli)
La resta de su fila menos su columna es única en el array de diagonales descendentes.
La suma de su fila más su columna es única en el array de diagonales ascedentes.

Puesto que los índices del array indican los valores de la fila y son únicos y del 1 al 4 nunca va a haber dos fichas en la misma fila.

Puesto que los valores para cada permutación son siempre los mismos que los iniciales pero en orden diferente, van de 1 a 4 y son únicos, los valores del array representan las columnas y son únicos.

¿Así lo entiendes mejor?

Saludos.