la representación gráfica
-
26-09-2019 - |
Solución
Cada combinación de letra y número es un nodo en el gráfico, es decir, a partir de A0, A1, A2, ... a F5, F6, F7. Su gráfico consta de 48 columnas (8 Tiempos 6 vtas en su laberinto) nodos, por lo que tendrá una matriz de 48x48. Si lo tratas como booleano, deberá definir todos los campos en falso excluidos aquellos donde hay una conexión entre dos nodos, por ejemplo A0 a A1 significaría que la fila A0 tiene un verdadero valor en la columna de la A1, y viceversa (debido a que su gráfica se no dirigido).
Otros consejos
Aquí está mi intento de la primera línea horizontal del laberinto:
A0 A1 A2 A3 A4 A5 A6 A7
A0 0 1 0 0 0 0 0 0
A1 1 0 0 0 0 0 0 0
A2 0 0 0 1 0 0 0 0
A3 0 0 1 0 0 0 0 0
A4 0 0 0 0 0 1 0 0
A5 0 0 0 0 1 0 0 0
A6 0 0 0 0 0 0 0 0
A7 0 0 0 0 0 0 0 0
Así se puede ver de lo anterior que el va a terminar con una matriz simétrica debido a la naturaleza no dirigida de sus bordes y que va a ser escasamente poblada.
EDIT: Matrix vs Listas
La entrada de Wikipedia para tiene algunos puntos buenos sobre los beneficios de cada algorítmicos.
EDIT:
Otra forma sería tener 2 matrices boolean
llamado Hor
y Ver
para rastrear la posibilidad de movimiento horizontal y vertical respectivamente.
Hor Matrix
: Dimensión: 6x9
[X,YZ]
representa la posibilidad de un movimiento horizontal desde [X,Y]
a [X,Z]
en el tablero real.
-1
representa el límite
ejemplo: [A,01]
es true
y así es [F,-10]
. Pero [B,23]
es false
.
-10 01 12 23 34 45 56 67 7-1
A
B
C
D
E
F
Del mismo modo
Ver Matrix
: Dimensión: 7x8
[XY,Z]
representa la posibilidad de un movimiento vertical desde [X,Z]
a [Y,Z]
en el tablero real.
Capital o
en la fila representan límite.
ejemplo: [DE,0]
es true
y así es [BC,7]
. Pero [CD,0]
es false
.
0 1 2 3 4 5 6 7
OA
AB
BC
CD
DE
EF
FO