Creo que vas por esto de la manera incorrecta. La ruta máxima en un gráfico con ciclos está técnicamente indefinida porque es infinita si el ciclo se encuentra entre el inicio y el final. Probablemente hay formas inteligentes de extender / restringir la definición de ruta máxima, pero no creo que sea el mejor enfoque aquí.
No está intentando modelar un camino largo real (por ejemplo, un robot que intenta explorar la mayor cantidad de área posible en un mapa). Solo estás tratando de hacer que el jugador explore muchas habitaciones.
Entonces, aprovecha la posibilidad de que el jugador encuentre la salida proporcional al porcentaje del mapa explorado hasta ahora . Digamos que hay X habitaciones en un nivel, y el personaje jugador ha explorado Y. La próxima vez que el personaje ingrese a una habitación, coloque la salida allí con probabilidad f (Y, X). Un ejemplo trivial de f podría ser (Y * Y) / (X * X), por ejemplo, para 10 habitaciones, hay un 100% de posibilidades de que salga en la última habitación, un 81% de posibilidades de que esté en la penúltima habitación, y solo un 1% de probabilidad de que esté en la primera habitación.
Puedes ajustar la ecuación como quieras para que el juego se sienta bien, y tal vez incluso darle al jugador algunas habilidades para que sea más probable que genere. La parte clave es, no generar la salida hasta que el personaje realmente entre en la habitación. Este método también es inmune al conocimiento del jugador sobre el algoritmo de generación de mazmorras; incluso si el jugador tiene patrones de movimiento extraños como el salto del caballero en NetHack o teletransportación, tendrá que explorar más habitaciones para encontrar la salida.
Si debe generar estáticamente la salida, puede usar la misma idea con un personaje virtual. Imagine un relleno de inundación a partir de la posición del personaje, moviéndose una vez la celda en cada iteración. La última habitación que se llena es la habitación a la que pertenece la salida (de hecho, la última celda que se llena es la celda donde está más alejado del jugador). Sin embargo, en este caso, el jugador tiene más información sobre la salida, si está a la izquierda, probablemente a la derecha, y si puede teletransportarse, en realidad puede llegar más rápido que una caminata aleatoria normal.
Finalmente, acabo de terminar un roguelike donde la salida se generó en el otro lado del mapa del personaje del jugador, y luego deambulé al azar. Algunos elementos en la mazmorra lo hicieron visible en el mapa, a expensas de tener hambre más rápido. No hice ningún análisis, pero definitivamente sentí que tenía que explorar más del mapa para encontrarlo, y le dio a los niveles una sensación única.