marinamallol programación no-numérica ii- n-reinas

10
Instituto Universitario Politécnico ‘’Santiago Mariño’’. Extensión Porlamar. Programación No-Numérica II. Autor: Br. Marina Mallol.

Upload: marimallol

Post on 08-Aug-2015

37 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Marinamallol programación no-numérica ii- n-reinas

Instituto Universitario Politécnico ‘’Santiago Mariño’’.Extensión Porlamar.

Programación No-Numérica II.

Autor: Br. Marina Mallol.

Page 2: Marinamallol programación no-numérica ii- n-reinas

El problema de las N reinas consiste en:

situar N reinas en

un tablero de

ajedrez de NxN

sin que se amenacen entre ellas.

Page 3: Marinamallol programación no-numérica ii- n-reinas

Para representar el problema, se podría plantear como una matriz de 8x8 enteros, donde R significa que la reina está en esa posición, y un 0 que la casilla está vacía.

0 0 0 R 0 0 0 0

0 0 0 0 0 0 R 0

0 0 R 0 0 0 0 0

0 0 0 0 0 0 0 R

0 R 0 0 0 0 0 0

0 0 0 0 R 0 0 0

R 0 0 0 0 0 0 0

0 0 0 0 0 R 0 0

Page 4: Marinamallol programación no-numérica ii- n-reinas

Luego se procede a evaluar la posición de cana reina

Y evaluar si está en la misma fila, columna o diagonal. Y si cada reina no esta siendo atacada por ninguna otra

Una reina amenaza a otra si está en la misma fila, columna o diagonal.

Page 5: Marinamallol programación no-numérica ii- n-reinas

-1 -1 -1 R -1 -1 -1 -1

0 0 -1 -1 -1 0 0 0

0 -1 0 -1 0 -1 0 0

-1 0 0 -1 0 0 -1 0

0 0 0 -1 0 0 0 -1

0 0 0 -1 0 0 0 0

0 0 0 -1 0 0 0 0

0 0 0 -1 0 0 0 0

Y luego se le resta (1) a cada una de las casillas que pueda atacar la Reina (R)

R Es la ubicación de la reina

1ra Reina (R)

Page 6: Marinamallol programación no-numérica ii- n-reinas

-1 -1 -1 R -1 -1 -2 -2

-1 -1 -2 -2 -2 -1 R 0

0 -1 0 -1 0 -2 -1 0

-1 0 0 -1 -1 0 -2 0

0 0 0 -2 0 0 -1 -1

0 0 -1 -1 0 0 -1 0

0 -1 0 -1 0 0 -1 0

-1 0 0 -1 0 0 -1 0

-2 -1 -2 R -1 -1 -2 -2

-1 -2 -3 -2 -2 -1 R 0

-1 -2 R -2 -1 -3 -2 -1

-1 0 -1 -2 -1 0 -2 0

0 0 -1 -2 -1 0 -1 -1

0 0 -2 -1 0 -1 -1 0

0 -1 -1 -1 0 0 -1 0

-1 0 -1 -1 0 0 -1 -1

2ra Reina (R)

3ra Reina (R)

Page 7: Marinamallol programación no-numérica ii- n-reinas

4ta Reina (R)

5ta Reina (R)

-2 -1 -2 R -2 -1 -2 -3

-1 -2 -3 -2 -2 -2 R -1

-1 -2 R -2 -1 -3 -3 -2

-2 -1 -2 -3 -2 -1 -3 R

0 0 -1 -2 -1 0 -2 -2

0 0 -2 -1 0 -2 -1 -1

0 -1 -1 -1 -1 0 -1 -1

-1 0 -1 -2 0 0 -1 -2

-2 -2 -2 R -2 -2 -2 -3

-1 -3 -3 -2 -3 -2 R -1

-1 -3 R -3 -1 -3 -3 -2

-3 -2 -3 -3 -2 -1 -3 R

-1 R -2 -3 -2 -1 -3 -3

-1 0 -3 -1 0 -2 -1 -1

0 -1 -1 -4 -1 0 -1 -1

-1 0 -1 -2 -1 0 -1 -2

Page 8: Marinamallol programación no-numérica ii- n-reinas

6ta Reina (R)

7ma Reina (R)

-3 -2 -2 R -3 -2 -2 -3

-2 -3 -3 -2 -4 -2 R -1

-1 -4 R -3 -2 -3 -3 -2

-3 -2 -4 -3 -3 -1 -3 R

-1 R -2 -4 -3 -1 -3 -3

-2 -1 -4 -2 R -2 -1 -1

0 -1 -1 -5 -1 -1 -1 -1

-1 0 -2 -2 -2 0 -2 -2

-4 -2 -2 R -3 -2 -3 -3

-3 -3 -3 -2 -4 -3 R -1

-2 -4 R -3 -3 -3 -3 -2

-4 -2 -4 -4 -3 -1 -3 R

-2 R -3 -4 -3 -1 -3 -3

-3 -2 -4 -2 R -2 -1 -1

R -2 -2 -6 -2 -2 -2 -2

-2 -1 -2 -2 -2 0 -2 -2

Page 9: Marinamallol programación no-numérica ii- n-reinas

Ultima Reina (R)

-4 -2 -2 R -3 -2 -3 -3

-3 -3 -3 -2 -4 -3 R -1

-2 -4 R -3 -3 -3 -3 -2

-4 -3 -4 -4 -3 -1 -3 R

-2 R -4 -4 -3 -1 -3 -3

-3 -2 -4 -3 R -2 -1 -2

R -2 -2 -6 -3 -2 -3 -2

-3 -2 -3 -3 -3 R -3 -3

Al igual que en los tableros de las reinas anterior se le resta (1) a cada una de las casillas que pueda atacar la Reina donde cada posición corresponde a una columna del tablero, y el entero representa la fila en la que se encuentra la reina dentro de dicha columna.

Page 10: Marinamallol programación no-numérica ii- n-reinas

La solución seria: 3 – 2 – 7- 7 – 9 – 13 – 6 - 2