An even easier way would be to just have the dungeon generate in real-time.
When player exits left, send them at random to any layout (room) that has the corresponding door. Record this room and the previous room on a map array, so when they return through the same door, they'll go back to the expected place.
One problem with this method though is that you wouldn't be able to have 'reveal the map' pickups and the like, since the dungeon isn't pre-generated.
EDIT - Actually, thinking about it, this method sucks. Forget this method.