This problem is based on a famous mobile game called parking jam. Here is a video footage from the game play.
https://www.youtube.com/watch?v=cDv_-LezHPw
In order to define the rules better, I decided to change it up a bit. Cars, walls, and empty spaces are now represented by characters on a grid of string. Each car consists of an arrow spanning two adjacent squares with the charset <>v^|-
. Walls are marked by *
, and the exit is marked by =
. Here is an example input:
********
*<-|->^*
* v<-|*
*<- | =
* |->v *