Pues yo lo haria con una matriz de 1 y 0, una S es la salida y una E la entrada y ahora una función que le pasaras X e Y y te devolviera TRUE si puedes pasar o FALSE si es una pared y no puede pasar,todo eso almacenado en un fichero y leyendo caracter por caracter.
El resto es refinamiento,si quieres que si es una pared te vuelva a pedir coordenadas,etc etc etc,y un buen analisis,ya que un buen analisis es el 80% de la programación :P y poco mas,no es muy complejo,si tu vieras el ejercicio que me pusieron a mi en el examen del Raton y el Gato con herustica te meas (y yo soy de Ciclo Superior ehhh,nada de Universidad :P),saludosss