Moves N
ants from a "start" graph node to the "finish" graph node, in the least amount of turns. Points, other than start and end, are constrained to contain a single ant at once
Executes in less than 3 seconds
Used just 3 standard C library functions
ssize_t read(int fd, void *buf, size_t count);
void *malloc(size_t size);
void free(void *ptr);
Used modified Dijkstra's algorithm with custom made ant distribution system
Visualised with SDL2
library. Install it and change the path in makefile
accordingly
Run make
and ./lem-in < map.lemin_map
To create your own map follow the next syntax
number_of_ants
(specify number of ants)
##start
room_name
x_coordinate
y _coordinate
(create a start room
##end
room_name
x_coordinate
y_coordinate
(create an end room)
room_name
x_coordinate
y_coordinate
(create a room)
room_name
x_coordinate
y_coordinate
(create a room)
... (till you listed all the rooms you want)
room_name
-another_room_name
(link two rooms)
... (till you created as much links as you want)
To start lemin with visualisation, use ./lem-in
with option -v
./lem-in -v < map.lemin_map
Start and pause visualisation with space
To move graph drag it with the left mouse button
To zoom in and out hold l-alt
and use mouse wheel
Switch counter
on
and off
activates with button C