Algo Explanation


- Every square is a node.
- Every node is connected to the four nodes on its north, east, south, west direction.
- Initial number on the node is randomly generated and represents the difficulty in reaching that node from its surrounding nodes.
Final number updated on the node is the cost of reaching that node from the starting point. Initial cost to every node except the first, is infinity.

1. Starting with the chosen node, update the cost of reachable nodes by taking minimum of ( (cost to reach the "coming from" node + difficulty to the visiting node), previously updated cost to the visiting node), set the "coming from" node as parent if the cost is less to come from that node.
2. Repeat the steps for reachable nodes in the sequence of least cost to most cost, until all nodes have been visited.