Generate a random maze using a depth-first search algorithm. Solve the shortest path using breath-first text.