This project is meant to make you code a digital version of an ant farm.
Create a program `lem-in` that will read from a file (describing the ants and the colony) given in the arguments.
Upon successfully finding the quickest path, `lem-in` will display the content of the file passed as argument and each move the ants make from room to room.
- Some will have rooms that link to themselves, sending your path-search spinning in circles. Some will have too many/too few ants, no `##start` or `##end`, duplicated rooms, links to unknown rooms, rooms with invalid coordinates and a variety of other invalid or poorly-formatted input. In those cases the program will return an error message `ERROR: invalid data format`. If you wish, you can elaborate a more specific error message (example: `ERROR: invalid data format, invalid number of Ants` or `ERROR: invalid data format, no start room found`).
- To be the first to arrive, ants will need to take the shortest path or paths. They will also need to avoid traffic jams as well as walking all over their fellow ants.
- You will only display the ants that moved at each turn, and you can move each ant only once and through a tunnel (the room at the receiving end must be empty).
- The rooms names will not necessarily be numbers, and in order.
- Any unknown command will be ignored.
- The program must handle errors carefully. In no way can it quit in an unexpected manner.
- The coordinates of the rooms will always be `int`.