Su objetivo es escribir un programa que crea un mapa utilizando al azar 10x10 0
, 1
y 2
, y encuentra el camino más corto desde la parte superior izquierda a la inferior derecha, en el supuesto de que:
0 representa un campo de hierba: cualquiera puede caminar sobre él;
1 representa un muro: no puedes cruzarlo;
2 representa un portal: al ingresar a un portal, puede moverse a cualquier otro portal en el mapa.
Especificaciones:
- El elemento superior izquierdo y el inferior derecho deben ser 0 ;
- Al crear el mapa aleatorio, cada campo debe tener un 60% de posibilidades de ser un 0 , un 30% de ser un 1 y un 10% de ser un 2 ;
- Puedes moverte en cualquier campo adyacente (incluso los diagonales);
- Su programa debe generar el mapa y el número de pasos de la ruta más corta;
- Si no hay una ruta válida que conduzca al campo inferior derecho, su programa solo debería generar el mapa;
- Puede usar cualquier recurso que desee;
- El código más corto gana.
Cálculo de pasos:
un paso es un movimiento real; Cada vez que cambia de campo, incrementa el contador.
Salida:
0000100200
0100100010
1000000111
0002001000
1111100020
0001111111
0001001000
0020001111
1100110000
0000020100
9